]> git.baikalelectronics.ru Git - kernel.git/commitdiff
mtd: rawnand: atmel: Unmap streaming DMA mappings
authorTudor Ambarus <tudor.ambarus@microchip.com>
Thu, 28 Jul 2022 07:40:14 +0000 (10:40 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 26 Oct 2022 11:22:11 +0000 (13:22 +0200)
commit 5599fd696b71708314b2e54cd39c38dc81bf3e9a upstream.

Every dma_map_single() call should have its dma_unmap_single() counterpart,
because the DMA address space is a shared resource and one could render the
machine unusable by consuming all DMA addresses.

Link: https://lore.kernel.org/lkml/13c6c9a2-6db5-c3bf-349b-4c127ad3496a@axentia.se/
Cc: stable@vger.kernel.org
Fixes: 7a02889dc4ef ("mtd: nand: Cleanup/rework the atmel_nand driver")
Signed-off-by: Tudor Ambarus <tudor.ambarus@microchip.com>
Acked-by: Alexander Dahl <ada@thorsis.com>
Reported-by: Peter Rosin <peda@axentia.se>
Tested-by: Alexander Dahl <ada@thorsis.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Tested-by: Peter Rosin <peda@axentia.se>
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
Link: https://lore.kernel.org/linux-mtd/20220728074014.145406-1-tudor.ambarus@microchip.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/mtd/nand/raw/atmel/nand-controller.c

index 17c751f359d3d9d8d1d438094125dd4f29c1354d..997910bec727957e69b35847945fb7016a0bf5dd 100644 (file)
@@ -402,6 +402,7 @@ static int atmel_nand_dma_transfer(struct atmel_nand_controller *nc,
 
        dma_async_issue_pending(nc->dmac);
        wait_for_completion(&finished);
+       dma_unmap_single(nc->dev, buf_dma, len, dir);
 
        return 0;