[PATCH] mmc: mtk-sd: Fix error handle of probe function

Andy-ld Lu (卢东) Andy-ld.Lu at mediatek.com
Thu Nov 7 03:35:28 PST 2024


On Thu, 2024-11-07 at 12:02 +0100, AngeloGioacchino Del Regno wrote:
> External email : Please do not click links or open attachments until
> you have verified the sender or the content.
> 
> 
> Il 07/11/24 02:47, Andy-ld Lu ha scritto:
> > In the probe function, it goes to 'release_mem' label and returns
> > after
> > some procedure failure. But if the clocks (partial or all) have
> > been
> > enabled previously, they would not be disabled in
> > msdc_runtime_suspend,
> > since runtime PM is not yet enabled for this case.
> > 
> > That cause mmc related clocks always on during system suspend and
> > block
> > suspend flow. Below log is from a SDCard issue of MT8196
> > chromebook, it
> > returns -ETIMEOUT while polling clock stable in the
> > msdc_ungate_clock()
> > and probe failed, but the enabled clocks could not be disabled
> > anyway.
> > 
> > [  129.059253] clk_chk_dev_pm_suspend()
> > [  129.350119] suspend warning: msdcpll is on
> > [  129.354494] [ck_msdc30_1_sel : enabled, 1, 1,
> > 191999939,   ck_msdcpll_d2]
> > [  129.362787] [ck_msdcpll_d2   : enabled, 1, 1,
> > 191999939,         msdcpll]
> > [  129.371041] [ck_msdc30_1_ck  : enabled, 1, 1, 191999939,
> > ck_msdc30_1_sel]
> > [  129.379295] [msdcpll         : enabled, 1, 1,
> > 383999878,          clk26m]
> > 
> > Add a new 'release_clk' label and reorder the error handle
> > functions to
> > make sure the clocks be disabled after probe failure.
> > 
> > Signed-off-by: Andy-ld Lu <andy-ld.lu at mediatek.com>
> 
> Please add the relevant Fixes tag, as this is a fix and should be
> backported.
> 
> After which, I'll give you my R-b.
> 
> Cheers,
> Angelo

Thanks for your review, I will add it in next change.

Best regards
Andy-ld Lu
> 



More information about the Linux-mediatek mailing list