Message ID | 20220303024334.813-1-baijiaju1990@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | dma: xilinx: check the return value of dma_set_mask() in zynqmp_dma_probe() | expand |
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@tsinghua.edu.cn> > Signed-off-by: Jia-Ju Bai <baijiaju1990@gmail.com> > --- > 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 > >
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 <oslab@tsinghua.edu.cn> >> Signed-off-by: Jia-Ju Bai <baijiaju1990@gmail.com> >> --- >> 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
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;
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@tsinghua.edu.cn> Signed-off-by: Jia-Ju Bai <baijiaju1990@gmail.com> --- drivers/dma/xilinx/zynqmp_dma.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)