[PATCH] powerpc: floppy: Add missing checks after DMA map

Thomas Fourier fourier.thomas at gmail.com
Thu Jun 19 21:07:33 AEST 2025


The DMA map functions can fail and should be tested for errors.

Signed-off-by: Thomas Fourier <fourier.thomas at gmail.com>
---
 arch/powerpc/include/asm/floppy.h | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/arch/powerpc/include/asm/floppy.h b/arch/powerpc/include/asm/floppy.h
index f8ce178b43b7..df8ce2ae636d 100644
--- a/arch/powerpc/include/asm/floppy.h
+++ b/arch/powerpc/include/asm/floppy.h
@@ -144,9 +144,14 @@ static int hard_dma_setup(char *addr, unsigned long size, int mode, int io)
 		bus_addr = 0;
 	}
 
-	if (!bus_addr)	/* need to map it */
+	if (!bus_addr) {	/* need to map it */
 		bus_addr = dma_map_single(&isa_bridge_pcidev->dev, addr, size,
 					  dir);
+		if (dma_mapping_error(&isa_bridge_pcidev->dev, bus_addr)) {
+			bus_addr = 0;
+			return -ENOMEM;
+		}
+	}
 
 	/* remember this one as prev */
 	prev_addr = addr;
-- 
2.43.0



More information about the Linuxppc-dev mailing list