mmc: usdhi6rol0: Fix a resource leak in the error handling path of the probe
authorChristophe JAILLET <christophe.jaillet@wanadoo.fr>
Thu, 17 Dec 2020 21:09:22 +0000 (22:09 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 4 Mar 2021 10:38:02 +0000 (11:38 +0100)
[ Upstream commit 6052b3c370fb82dec28bcfff6d7ec0da84ac087a ]

A call to 'ausdhi6_dma_release()' to undo a previous call to
'usdhi6_dma_request()' is missing in the error handling path of the probe
function.

It is already present in the remove function.

Fixes: 75fa9ea6e3c0 ("mmc: add a driver for the Renesas usdhi6rol0 SD/SDIO host controller")
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Link: https://lore.kernel.org/r/20201217210922.165340-1-christophe.jaillet@wanadoo.fr
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/mmc/host/usdhi6rol0.c

index e2d5112..615f3d0 100644 (file)
@@ -1858,10 +1858,12 @@ static int usdhi6_probe(struct platform_device *pdev)
 
        ret = mmc_add_host(mmc);
        if (ret < 0)
-               goto e_clk_off;
+               goto e_release_dma;
 
        return 0;
 
+e_release_dma:
+       usdhi6_dma_release(host);
 e_clk_off:
        clk_disable_unprepare(host->clk);
 e_free_mmc: