2021-12-02 09:19:10

by Jiasheng Jiang

[permalink] [raw]
Subject: [PATCH RESEND] 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.

Fixes: 0a0c3b5a24bd ("Add new uio device for dynamic memory allocation")
Signed-off-by: Jiasheng Jiang <[email protected]>
---
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



2021-12-03 14:17:58

by Greg Kroah-Hartman

[permalink] [raw]
Subject: Re: [PATCH RESEND] uio: uio_dmem_genirq: Catch the Exception

On Thu, Dec 02, 2021 at 05:18:39PM +0800, Jiasheng Jiang wrote:
> 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 <[email protected]>
> ---
> 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;

Please print out an error like the other failures above this in the
function.

And why is this a RESEND? When was it sent before?

thanks,

greg k-h