summaryrefslogtreecommitdiff
path: root/drivers/dma
diff options
context:
space:
mode:
authorWei Yongjun <yongjun_wei@trendmicro.com.cn>2016-07-19 14:29:41 +0300
committerVinod Koul <vinod.koul@intel.com>2016-07-24 09:29:15 +0300
commit89b90c09b5d505dcff1068054f1fc2d2704e909f (patch)
tree758e4c116e95f797d63aa09d55a42e216dd1d2ba /drivers/dma
parente94570a36bda79b9f87abd283d7277b6a92c508d (diff)
downloadlinux-89b90c09b5d505dcff1068054f1fc2d2704e909f.tar.xz
dmaengine: k3dma: add missing clk_disable_unprepare() on error in k3_dma_probe()
Add the missing clk_disable_unprepare() before return from k3_dma_probe() in the error handling case. Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn> Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Diffstat (limited to 'drivers/dma')
-rw-r--r--drivers/dma/k3dma.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/dma/k3dma.c b/drivers/dma/k3dma.c
index 35961af6e4d7..563affd5cd06 100644
--- a/drivers/dma/k3dma.c
+++ b/drivers/dma/k3dma.c
@@ -757,7 +757,7 @@ static int k3_dma_probe(struct platform_device *op)
ret = dma_async_device_register(&d->slave);
if (ret)
- return ret;
+ goto dma_async_register_fail;
ret = of_dma_controller_register((&op->dev)->of_node,
k3_of_dma_simple_xlate, d);
@@ -774,6 +774,8 @@ static int k3_dma_probe(struct platform_device *op)
of_dma_register_fail:
dma_async_device_unregister(&d->slave);
+dma_async_register_fail:
+ clk_disable_unprepare(d->clk);
return ret;
}