The DMA address returned by dma_map_single() should be checked with
dma_mapping_error(). Fix the ps3stor_setup() function accordingly.

Fixes: 80071802cb9c ("[POWERPC] PS3: Storage Driver Core")
Signed-off-by: Vincent Stehlé <vincent.ste...@laposte.net>
Cc: Geoff Levand <ge...@infradead.org>
Cc: Geert Uytterhoeven <geert.uytterhoe...@sonycom.com>
---
 drivers/ps3/ps3stor_lib.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/ps3/ps3stor_lib.c b/drivers/ps3/ps3stor_lib.c
index 333ba83006e48..a12a1ad9b5fe3 100644
--- a/drivers/ps3/ps3stor_lib.c
+++ b/drivers/ps3/ps3stor_lib.c
@@ -189,7 +189,7 @@ int ps3stor_setup(struct ps3_storage_device *dev, 
irq_handler_t handler)
        dev->bounce_lpar = ps3_mm_phys_to_lpar(__pa(dev->bounce_buf));
        dev->bounce_dma = dma_map_single(&dev->sbd.core, dev->bounce_buf,
                                         dev->bounce_size, DMA_BIDIRECTIONAL);
-       if (!dev->bounce_dma) {
+       if (dma_mapping_error(&dev->sbd.core, dev->bounce_dma)) {
                dev_err(&dev->sbd.core, "%s:%u: map DMA region failed\n",
                        __func__, __LINE__);
                error = -ENODEV;
-- 
2.29.2

Reply via email to