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> --- v2: * Print an error message and forward the return value of dma_set_mask(). Thank Michael for good advice. --- drivers/dma/xilinx/zynqmp_dma.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/dma/xilinx/zynqmp_dma.c b/drivers/dma/xilinx/zynqmp_dma.c index 7aa63b652027..2791e9c6a4ea 100644 --- a/drivers/dma/xilinx/zynqmp_dma.c +++ b/drivers/dma/xilinx/zynqmp_dma.c @@ -1050,7 +1050,10 @@ 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)); + ret = dma_set_mask(&pdev->dev, DMA_BIT_MASK(44)); + if (ret) + return dev_err_probe(&pdev->dev, ret, "No usable DMA available\n"); + dma_cap_set(DMA_MEMCPY, zdev->common.cap_mask); p = &zdev->common; -- 2.17.1