diff options
author | Christophe JAILLET <christophe.jaillet@wanadoo.fr> | 2020-12-19 14:28:00 +0100 |
---|---|---|
committer | Vinod Koul <vkoul@kernel.org> | 2020-12-29 10:08:00 +0530 |
commit | d645148cc82ca7fbacaa601414a552184e9c6dd3 (patch) | |
tree | 478a51cfa93acadc808cf54e7f7c9046bbd6e7d8 /drivers/dma/milbeaut-xdmac.c | |
parent | 33cbd54dc515cc04b5a603603414222b4bb1448d (diff) | |
download | lwn-d645148cc82ca7fbacaa601414a552184e9c6dd3.tar.gz lwn-d645148cc82ca7fbacaa601414a552184e9c6dd3.zip |
dmaengine: milbeaut-xdmac: Fix a resource leak in the error handling path of the probe function
'disable_xdmac()' should be called in the error handling path of the
probe function to undo a previous 'enable_xdmac()' call, as already
done in the remove function.
Fixes: a6e9be055d47 ("dmaengine: milbeaut-xdmac: Add XDMAC driver for Milbeaut platforms")
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Link: https://lore.kernel.org/r/20201219132800.183254-1-christophe.jaillet@wanadoo.fr
Signed-off-by: Vinod Koul <vkoul@kernel.org>
Diffstat (limited to 'drivers/dma/milbeaut-xdmac.c')
-rw-r--r-- | drivers/dma/milbeaut-xdmac.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/dma/milbeaut-xdmac.c b/drivers/dma/milbeaut-xdmac.c index 584c931e807a..d29d01e730aa 100644 --- a/drivers/dma/milbeaut-xdmac.c +++ b/drivers/dma/milbeaut-xdmac.c @@ -350,7 +350,7 @@ static int milbeaut_xdmac_probe(struct platform_device *pdev) ret = dma_async_device_register(ddev); if (ret) - return ret; + goto disable_xdmac; ret = of_dma_controller_register(dev->of_node, of_dma_simple_xlate, mdev); @@ -363,6 +363,8 @@ static int milbeaut_xdmac_probe(struct platform_device *pdev) unregister_dmac: dma_async_device_unregister(ddev); +disable_xdmac: + disable_xdmac(mdev); return ret; } |