mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-11 12:28:41 +08:00
HSI: omap_ssi_port: Fix dma_map_sg error check
dma_map_sg return 0 on error, in case of error return -EIO
to caller.
Cc: Sebastian Reichel <sre@kernel.org>
Cc: linux-kernel@vger.kernel.org (open list)
Fixes: b209e047bc
("HSI: Introduce OMAP SSI driver")
Signed-off-by: Jack Wang <jinpu.wang@ionos.com>
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
This commit is contained in:
parent
0f1a3e5f81
commit
551e325bbd
@ -230,10 +230,10 @@ static int ssi_start_dma(struct hsi_msg *msg, int lch)
|
|||||||
if (msg->ttype == HSI_MSG_READ) {
|
if (msg->ttype == HSI_MSG_READ) {
|
||||||
err = dma_map_sg(&ssi->device, msg->sgt.sgl, msg->sgt.nents,
|
err = dma_map_sg(&ssi->device, msg->sgt.sgl, msg->sgt.nents,
|
||||||
DMA_FROM_DEVICE);
|
DMA_FROM_DEVICE);
|
||||||
if (err < 0) {
|
if (!err) {
|
||||||
dev_dbg(&ssi->device, "DMA map SG failed !\n");
|
dev_dbg(&ssi->device, "DMA map SG failed !\n");
|
||||||
pm_runtime_put_autosuspend(omap_port->pdev);
|
pm_runtime_put_autosuspend(omap_port->pdev);
|
||||||
return err;
|
return -EIO;
|
||||||
}
|
}
|
||||||
csdp = SSI_DST_BURST_4x32_BIT | SSI_DST_MEMORY_PORT |
|
csdp = SSI_DST_BURST_4x32_BIT | SSI_DST_MEMORY_PORT |
|
||||||
SSI_SRC_SINGLE_ACCESS0 | SSI_SRC_PERIPHERAL_PORT |
|
SSI_SRC_SINGLE_ACCESS0 | SSI_SRC_PERIPHERAL_PORT |
|
||||||
@ -247,10 +247,10 @@ static int ssi_start_dma(struct hsi_msg *msg, int lch)
|
|||||||
} else {
|
} else {
|
||||||
err = dma_map_sg(&ssi->device, msg->sgt.sgl, msg->sgt.nents,
|
err = dma_map_sg(&ssi->device, msg->sgt.sgl, msg->sgt.nents,
|
||||||
DMA_TO_DEVICE);
|
DMA_TO_DEVICE);
|
||||||
if (err < 0) {
|
if (!err) {
|
||||||
dev_dbg(&ssi->device, "DMA map SG failed !\n");
|
dev_dbg(&ssi->device, "DMA map SG failed !\n");
|
||||||
pm_runtime_put_autosuspend(omap_port->pdev);
|
pm_runtime_put_autosuspend(omap_port->pdev);
|
||||||
return err;
|
return -EIO;
|
||||||
}
|
}
|
||||||
csdp = SSI_SRC_BURST_4x32_BIT | SSI_SRC_MEMORY_PORT |
|
csdp = SSI_SRC_BURST_4x32_BIT | SSI_SRC_MEMORY_PORT |
|
||||||
SSI_DST_SINGLE_ACCESS0 | SSI_DST_PERIPHERAL_PORT |
|
SSI_DST_SINGLE_ACCESS0 | SSI_DST_PERIPHERAL_PORT |
|
||||||
|
Loading…
Reference in New Issue
Block a user