diff mbox series

mmc: au1xmmc: Fix an error handling path in au1xmmc_probe()

Message ID 21d99886d07fa7fcbec74992657dabad98c935c4.1661412818.git.christophe.jaillet@wanadoo.fr
State New
Headers show
Series mmc: au1xmmc: Fix an error handling path in au1xmmc_probe() | expand

Commit Message

Christophe JAILLET Aug. 25, 2022, 7:33 a.m. UTC
If clk_prepare_enable() fails, there is no point in calling
clk_disable_unprepare() in the error handling path.

Move the out_clk label at the right place.

Fixes: b6507596dfd6 ("MIPS: Alchemy: au1xmmc: use clk framework")
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
---
 drivers/mmc/host/au1xmmc.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Comments

Ulf Hansson Aug. 26, 2022, 9:16 a.m. UTC | #1
On Thu, 25 Aug 2022 at 09:34, Christophe JAILLET
<christophe.jaillet@wanadoo.fr> wrote:
>
> If clk_prepare_enable() fails, there is no point in calling
> clk_disable_unprepare() in the error handling path.
>
> Move the out_clk label at the right place.
>
> Fixes: b6507596dfd6 ("MIPS: Alchemy: au1xmmc: use clk framework")
> Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>

Applied for next, thanks!

Kind regards
Uffe


> ---
>  drivers/mmc/host/au1xmmc.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/mmc/host/au1xmmc.c b/drivers/mmc/host/au1xmmc.c
> index a9a0837153d8..c88b039dc9fb 100644
> --- a/drivers/mmc/host/au1xmmc.c
> +++ b/drivers/mmc/host/au1xmmc.c
> @@ -1097,8 +1097,9 @@ static int au1xmmc_probe(struct platform_device *pdev)
>         if (host->platdata && host->platdata->cd_setup &&
>             !(mmc->caps & MMC_CAP_NEEDS_POLL))
>                 host->platdata->cd_setup(mmc, 0);
> -out_clk:
> +
>         clk_disable_unprepare(host->clk);
> +out_clk:
>         clk_put(host->clk);
>  out_irq:
>         free_irq(host->irq, host);
> --
> 2.34.1
>
diff mbox series

Patch

diff --git a/drivers/mmc/host/au1xmmc.c b/drivers/mmc/host/au1xmmc.c
index a9a0837153d8..c88b039dc9fb 100644
--- a/drivers/mmc/host/au1xmmc.c
+++ b/drivers/mmc/host/au1xmmc.c
@@ -1097,8 +1097,9 @@  static int au1xmmc_probe(struct platform_device *pdev)
 	if (host->platdata && host->platdata->cd_setup &&
 	    !(mmc->caps & MMC_CAP_NEEDS_POLL))
 		host->platdata->cd_setup(mmc, 0);
-out_clk:
+
 	clk_disable_unprepare(host->clk);
+out_clk:
 	clk_put(host->clk);
 out_irq:
 	free_irq(host->irq, host);