[PATCH] uio: uio_dmem_genirq: Catch the Exception The return value of dma_set_coherent_mask() is not always 0. To catch the exception in case that dma is not support the mask.

From: Jiasheng Jiang
Date: Thu Dec 02 2021 - 04:17:00 EST


Fixes: 0a0c3b5a24bd ("Add new uio device for dynamic memory allocation")
Signed-off-by: Jiasheng Jiang <jiasheng@xxxxxxxxxxx>
---
drivers/uio/uio_dmem_genirq.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/uio/uio_dmem_genirq.c b/drivers/uio/uio_dmem_genirq.c
index 6b5cfa5b0673..570f5be64b46 100644
--- a/drivers/uio/uio_dmem_genirq.c
+++ b/drivers/uio/uio_dmem_genirq.c
@@ -188,7 +188,9 @@ static int uio_dmem_genirq_probe(struct platform_device *pdev)
return -ENOMEM;
}

- dma_set_coherent_mask(&pdev->dev, DMA_BIT_MASK(32));
+ ret = dma_set_coherent_mask(&pdev->dev, DMA_BIT_MASK(32));
+ if (ret)
+ return ret;

priv->uioinfo = uioinfo;
spin_lock_init(&priv->lock);
--
2.25.1