]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
mtd: rawnand: cadence: fix unchecked dereference
authorNiravkumar L Rabara <niravkumar.l.rabara@intel.com>
Sun, 16 Feb 2025 03:15:36 +0000 (11:15 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 13 Mar 2025 11:47:43 +0000 (12:47 +0100)
commit 60255f3704fde70ed3c4d62f919aa4b46f841f70 upstream.

Add NULL check before variable dereference to fix static checker warning.

Fixes: d76d22b5096c ("mtd: rawnand: cadence: use dma_map_resource for sdma address")
Reported-by: Dan Carpenter <dan.carpenter@linaro.org>
Closes: https://lore.kernel.org/all/e448a22c-bada-448d-9167-7af71305130d@stanley.mountain/
Signed-off-by: Niravkumar L Rabara <niravkumar.l.rabara@intel.com>
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/mtd/nand/raw/cadence-nand-controller.c

index 748a4af8151d445d3595d152f07d1287c02b8db9..801f3e48f4d7c4ec4643b3935323a05e25e784d8 100644 (file)
@@ -2934,8 +2934,10 @@ free_buf_desc:
 static void cadence_nand_remove(struct cdns_nand_ctrl *cdns_ctrl)
 {
        cadence_nand_chips_cleanup(cdns_ctrl);
-       dma_unmap_resource(cdns_ctrl->dmac->device->dev, cdns_ctrl->io.iova_dma,
-                          cdns_ctrl->io.size, DMA_BIDIRECTIONAL, 0);
+       if (cdns_ctrl->dmac)
+               dma_unmap_resource(cdns_ctrl->dmac->device->dev,
+                                  cdns_ctrl->io.iova_dma, cdns_ctrl->io.size,
+                                  DMA_BIDIRECTIONAL, 0);
        cadence_nand_irq_cleanup(cdns_ctrl->irq, cdns_ctrl);
        kfree(cdns_ctrl->buf);
        dma_free_coherent(cdns_ctrl->dev, sizeof(struct cadence_nand_cdma_desc),