2022-03-03 02:51:24

by Jia-Ju Bai

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

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 <[email protected]>
Signed-off-by: Jia-Ju Bai <[email protected]>
---
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;
dma_cap_set(DMA_MEMCPY, zdev->common.cap_mask);

p = &zdev->common;
--
2.17.1


2022-03-04 16:26:40

by Michael Tretter

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

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 <[email protected]>
> Signed-off-by: Jia-Ju Bai <[email protected]>
> ---
> 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
>
>

2022-03-05 12:44:01

by Jia-Ju Bai

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



On 2022/3/4 16:20, Michael Tretter wrote:
> 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 <[email protected]>
>> Signed-off-by: Jia-Ju Bai <[email protected]>
>> ---
>> 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.

Hi Michael,

Thanks for the advice.
I will send a V2 patch.


Best wishes,
Jia-Ju Bai