Re: [PATCH] mmc: sdhci-s3c: check clk_prepare_enable return in probe
From: Adrian Hunter
Date: Mon Aug 24 2026 - 03:45:32 EST
On 18/08/2026 16:07, Jiawen Liu wrote:
> sdhci_s3c_probe() ignores the return value of
> clk_prepare_enable(sc->clk_io). If this call fails, the clock is not
> enabled, but the driver continues and later calls
> clk_disable_unprepare() on it, leading to an unbalanced clock
> disable/unprepare.
>
> Fix this by checking the return value and propagating the error,
> cleaning up only resources acquired before the failed enable.
>
> Signed-off-by: jiawen <1298662399@xxxxxx>
scripts/checkpatch.pl says:
WARNING: From:/Signed-off-by: email name mismatch: 'From: Jiawen Liu <1298662399@xxxxxx>' != 'Signed-off-by: jiawen <1298662399@xxxxxx>'
Please adjust that.
> ---
> diff --git a/drivers/mmc/host/sdhci-s3c.c b/drivers/mmc/host/sdhci-s3c.c
> --- a/drivers/mmc/host/sdhci-s3c.c
> +++ b/drivers/mmc/host/sdhci-s3c.c
> @@ -534,7 +534,11 @@
> }
>
> /* enable the local io clock and keep it running for the moment. */
> - clk_prepare_enable(sc->clk_io);
> + ret = clk_prepare_enable(sc->clk_io);
> + if (ret) {
> + dev_err(dev, "failed to enable io clock\n");
> + return ret;
> + }
>
> for (clks = 0, ptr = 0; ptr < MAX_BUS_CLK; ptr++) {
> char name[14];
>