mailbox: bcm-ferxrm-mailbox: Fix error check for dma_map_sg

[ Upstream commit 6b207ce8a96a71e966831e3a13c38143ba9a73c1 ]

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

Fixes: dbc049eee7 ("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>
This commit is contained in:
Jack Wang
2022-08-26 12:13:35 +02:00
committed by Greg Kroah-Hartman
parent b1616599c9
commit 44c26ceffa

View 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), rc = dma_map_sg(dev, msg->spu.src, sg_nents(msg->spu.src),
DMA_TO_DEVICE); DMA_TO_DEVICE);
if (rc < 0) if (!rc)
return rc; return -EIO;
rc = dma_map_sg(dev, msg->spu.dst, sg_nents(msg->spu.dst), rc = dma_map_sg(dev, msg->spu.dst, sg_nents(msg->spu.dst),
DMA_FROM_DEVICE); DMA_FROM_DEVICE);
if (rc < 0) { if (!rc) {
dma_unmap_sg(dev, msg->spu.src, sg_nents(msg->spu.src), dma_unmap_sg(dev, msg->spu.src, sg_nents(msg->spu.src),
DMA_TO_DEVICE); DMA_TO_DEVICE);
return rc; return -EIO;
} }
return 0; return 0;