]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
mtd: rawnand: cadence: fix incorrect device in dma_unmap_single
authorNiravkumar L Rabara <niravkumar.l.rabara@intel.com>
Mon, 10 Feb 2025 05:35:51 +0000 (13:35 +0800)
committerMiquel Raynal <miquel.raynal@bootlin.com>
Mon, 10 Feb 2025 15:17:59 +0000 (16:17 +0100)
dma_map_single is using physical/bus device (DMA) but dma_unmap_single
is using framework device(NAND controller), which is incorrect.
Fixed dma_unmap_single to use correct physical/bus device.

Fixes: ec4ba01e894d ("mtd: rawnand: Add new Cadence NAND driver to MTD subsystem")
Cc: stable@vger.kernel.org
Signed-off-by: Niravkumar L Rabara <niravkumar.l.rabara@intel.com>
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
drivers/mtd/nand/raw/cadence-nand-controller.c

index 47950a0ac6d28984962afd27ac913653f2d4ae32..0b2db4173e7230a580cb3d1a58a31776fd293b10 100644 (file)
@@ -1863,12 +1863,12 @@ static int cadence_nand_slave_dma_transfer(struct cdns_nand_ctrl *cdns_ctrl,
        dma_async_issue_pending(cdns_ctrl->dmac);
        wait_for_completion(&finished);
 
-       dma_unmap_single(cdns_ctrl->dev, buf_dma, len, dir);
+       dma_unmap_single(dma_dev->dev, buf_dma, len, dir);
 
        return 0;
 
 err_unmap:
-       dma_unmap_single(cdns_ctrl->dev, buf_dma, len, dir);
+       dma_unmap_single(dma_dev->dev, buf_dma, len, dir);
 
 err:
        dev_dbg(cdns_ctrl->dev, "Fall back to CPU I/O\n");