Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 83d4f013 authored by Jack Wang's avatar Jack Wang Committed by Greg Kroah-Hartman
Browse files

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: dbc049ee ("mailbox: Add driver for Broadcom FlexRM ring manager")
Signed-off-by: default avatarJack Wang <jinpu.wang@ionos.com>
Signed-off-by: default avatarJassi Brar <jaswinder.singh@linaro.org>
Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
parent 25fe7b0d
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -634,15 +634,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;