Re: [PATCH] dma: xilinx: check the return value of dma_set_mask() in zynqmp_dma_probe()

From: Michael Tretter
Date: Fri Mar 04 2022 - 03:20:51 EST


On Wed, 02 Mar 2022 18:43:34 -0800, Jia-Ju Bai wrote:
> The function dma_set_mask() in zynqmp_dma_probe() can fail, so its
> return value should be checked.
>
> Fixes: b0cc417c1637 ("dmaengine: Add Xilinx zynqmp dma engine driver support")
> Reported-by: TOTE Robot <oslab@xxxxxxxxxxxxxxx>
> Signed-off-by: Jia-Ju Bai <baijiaju1990@xxxxxxxxx>
> ---
> drivers/dma/xilinx/zynqmp_dma.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/dma/xilinx/zynqmp_dma.c b/drivers/dma/xilinx/zynqmp_dma.c
> index 7aa63b652027..963fb1de93af 100644
> --- a/drivers/dma/xilinx/zynqmp_dma.c
> +++ b/drivers/dma/xilinx/zynqmp_dma.c
> @@ -1050,7 +1050,8 @@ static int zynqmp_dma_probe(struct platform_device *pdev)
> zdev->dev = &pdev->dev;
> INIT_LIST_HEAD(&zdev->common.channels);
>
> - dma_set_mask(&pdev->dev, DMA_BIT_MASK(44));
> + if (dma_set_mask(&pdev->dev, DMA_BIT_MASK(44)))
> + return -EIO;

Thanks.

You may print an error message with dev_err_probe and forward the return value
of dma_set_mask.

Michael

> dma_cap_set(DMA_MEMCPY, zdev->common.cap_mask);
>
> p = &zdev->common;
> --
> 2.17.1
>
>