From: Andy Shevchenko Date: Thu, 8 May 2014 09:01:50 +0000 (+0300) Subject: dmaengine: dw: check return code of dma_async_device_register() X-Git-Tag: Ubuntu-snapdragon-4.4.0-1029.32~8625^2~1^2 X-Git-Url: https://git.proxmox.com/?a=commitdiff_plain;h=1222934e54b63752b4b1ad305d6a7f632a3ae46d;p=mirror_ubuntu-zesty-kernel.git dmaengine: dw: check return code of dma_async_device_register() dma_async_device_register() may return non-zero error code. In such case we have to follow error path. Signed-off-by: Andy Shevchenko Signed-off-by: Vinod Koul --- diff --git a/drivers/dma/dw/core.c b/drivers/dma/dw/core.c index d539019fbe60..a27ded53ab4f 100644 --- a/drivers/dma/dw/core.c +++ b/drivers/dma/dw/core.c @@ -1659,13 +1659,17 @@ int dw_dma_probe(struct dw_dma_chip *chip, struct dw_dma_platform_data *pdata) dma_writel(dw, CFG, DW_CFG_DMA_EN); + err = dma_async_device_register(&dw->dma); + if (err) + goto err_dma_register; + dev_info(chip->dev, "DesignWare DMA Controller, %d channels\n", nr_channels); - dma_async_device_register(&dw->dma); - return 0; +err_dma_register: + free_irq(chip->irq, dw); err_pdata: clk_disable_unprepare(dw->clk); return err;