dmaengine: zynqmp_dma: check dma_async_device_register return value
authorShravya Kumbham <shravya.kumbham@xilinx.com>
Tue, 10 May 2022 07:12:41 +0000 (12:42 +0530)
committerVinod Koul <vkoul@kernel.org>
Mon, 16 May 2022 12:51:47 +0000 (18:21 +0530)
Add condition to check the return value of dma_async_device_register
and implement its error handling.

Addresses-Coverity: Event check_return.
Signed-off-by: Shravya Kumbham <shravya.kumbham@xilinx.com>
Signed-off-by: Harini Katakam <harini.katakam@xilinx.com>
Signed-off-by: Radhey Shyam Pandey <radhey.shyam.pandey@xilinx.com>
Link: https://lore.kernel.org/r/1652166762-18317-3-git-send-email-radhey.shyam.pandey@xilinx.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
drivers/dma/xilinx/zynqmp_dma.c

index 3ffa7f3..915dbe6 100644 (file)
@@ -1094,7 +1094,11 @@ static int zynqmp_dma_probe(struct platform_device *pdev)
        p->dst_addr_widths = BIT(zdev->chan->bus_width / 8);
        p->src_addr_widths = BIT(zdev->chan->bus_width / 8);
 
-       dma_async_device_register(&zdev->common);
+       ret = dma_async_device_register(&zdev->common);
+       if (ret) {
+               dev_err(zdev->dev, "failed to register the dma device\n");
+               goto free_chan_resources;
+       }
 
        ret = of_dma_controller_register(pdev->dev.of_node,
                                         of_zynqmp_dma_xlate, zdev);