uio: uio_dmem_genirq: Catch the Exception
authorJiasheng Jiang <jiasheng@iscas.ac.cn>
Sat, 4 Dec 2021 00:03:26 +0000 (08:03 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 5 Dec 2021 13:25:00 +0000 (14:25 +0100)
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.

Fixes: 0a0c3b5a24bd ("Add new uio device for dynamic memory allocation")
Signed-off-by: Jiasheng Jiang <jiasheng@iscas.ac.cn>
Link: https://lore.kernel.org/r/20211204000326.1592687-1-jiasheng@iscas.ac.cn
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/uio/uio_dmem_genirq.c

index 6b5cfa5..1106f33 100644 (file)
@@ -188,7 +188,11 @@ 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) {
+               dev_err(&pdev->dev, "DMA enable failed\n");
+               return ret;
+       }
 
        priv->uioinfo = uioinfo;
        spin_lock_init(&priv->lock);