Re: [PATCH] mmc: sdhci-s3c: check clk_prepare_enable return in probe
Adrian Hunter <[email protected]>
| Newsgroups | org.kernel.vger.linux-kernel,org.kernel.vger.linux-mmc |
|---|---|
| Organization | Intel Finland Oy, Registered Address: c/o Alberga Business Park, 6 krs, Bertel Jungin Aukio 5, 02600 Espoo, Business Identity Code: 0357606 - 4, Domiciled in Helsinki |
| Message-ID | <[email protected]> |
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 <[email protected]> scripts/checkpatch.pl says: WARNING: From:/Signed-off-by: email name mismatch: 'From: Jiawen Liu <[email protected]>' != 'Signed-off-by: jiawen <[email protected]>' 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]; >