]> git.baikalelectronics.ru Git - kernel.git/commitdiff
mailbox: bcm-ferxrm-mailbox: Fix error check for dma_map_sg
authorJack Wang <jinpu.wang@ionos.com>
Fri, 26 Aug 2022 10:13:35 +0000 (12:13 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 26 Oct 2022 11:22:44 +0000 (13:22 +0200)
[ Upstream commit 6b37f7bbb516318a33d10de1abab3eac40ad95e1 ]

dma_map_sg return 0 on error, fix the error check, and return -EIO
to caller.

Fixes: 1b303ea2485b ("mailbox: Add driver for Broadcom FlexRM ring manager")
Signed-off-by: Jack Wang <jinpu.wang@ionos.com>
Signed-off-by: Jassi Brar <jaswinder.singh@linaro.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/mailbox/bcm-flexrm-mailbox.c

index 8ee9db27480294e5c283cb03b734a1718ec05fed..f7191dbef6faad4bfd13b547f7b516130084103d 100644 (file)
@@ -632,15 +632,15 @@ static int flexrm_spu_dma_map(struct device *dev, struct brcm_message *msg)
 
        rc = dma_map_sg(dev, msg->spu.src, sg_nents(msg->spu.src),
                        DMA_TO_DEVICE);
-       if (rc < 0)
-               return rc;
+       if (!rc)
+               return -EIO;
 
        rc = dma_map_sg(dev, msg->spu.dst, sg_nents(msg->spu.dst),
                        DMA_FROM_DEVICE);
-       if (rc < 0) {
+       if (!rc) {
                dma_unmap_sg(dev, msg->spu.src, sg_nents(msg->spu.src),
                             DMA_TO_DEVICE);
-               return rc;
+               return -EIO;
        }
 
        return 0;