mirror of https://gitee.com/openkylin/linux.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 <andriy.shevchenko@linux.intel.com> Signed-off-by: Vinod Koul <vinod.koul@intel.com>
This commit is contained in:
parent
8be4f523b4
commit
1222934e54
|
@ -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);
|
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",
|
dev_info(chip->dev, "DesignWare DMA Controller, %d channels\n",
|
||||||
nr_channels);
|
nr_channels);
|
||||||
|
|
||||||
dma_async_device_register(&dw->dma);
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
|
err_dma_register:
|
||||||
|
free_irq(chip->irq, dw);
|
||||||
err_pdata:
|
err_pdata:
|
||||||
clk_disable_unprepare(dw->clk);
|
clk_disable_unprepare(dw->clk);
|
||||||
return err;
|
return err;
|
||||||
|
|
Loading…
Reference in New Issue