Messages in this thread | | | From | Bing Zhao <> | Date | Thu, 15 Dec 2011 20:39:28 -0800 | Subject | RE: [PATCH] mmc/sdio: don't allow interface to runtime-suspend until probe is finished. |
| |
Hi Neil,
> In the other case where I do let it suspend early (And it never recovers > without the reset line being toggled) I see: > > [ 2170.100982] mmc_wait_for_cmd 52 -> -110 > [ 2170.105407] mmc_wait_for_cmd 52 -> -110 > [ 2170.110260] mmc_wait_for_cmd 0 -> 0 > [ 2170.115509] mmc_wait_for_cmd 8 -> -110 > [ 2170.119842] mmc_wait_for_cmd 5 -> 0 > [ 2170.123901] mmc_wait_for_cmd 5 -> 0 > [ 2170.127929] mmc_wait_for_cmd 3 -> 0 > [ 2170.131958] mmc_wait_for_cmd 7 -> 0
This works when reset line toggling was applied.
> [ 2170.135986] mmc_wait_for_cmd 52 -> 0 > [ 2170.140136] mmc_wait_for_cmd 52 -> 0 > [ 2170.144226] mmc_wait_for_cmd 52 -> 0 > [ 2170.148376] mmc_wait_for_cmd 52 -> 0 > [ 2170.152465] mmc_wait_for_cmd 52 -> 0 > > > which is much the same but then one second later: > > [ 2171.166656] mmc_wait_for_cmd 52 -> 0 > [ 2171.170806] mmc_wait_for_cmd 52 -> 0 > [ 2171.175384] mmc_wait_for_cmd 0 -> 0 > [ 2171.180603] mmc_wait_for_cmd 8 -> -110 > [ 2171.185943] mmc_wait_for_cmd 5 -> -110
Here the CMD5 timeout is expected because SD8686 has already been initialized with CMD5,5,3,7. If you are able to skip re-initialization at this point, like what "powered_resume" does, you will probably get SD8686 continue to run.
Regards, Bing
> [ 2171.190093] libertas_sdio: probe of mmc1:0001:1 failed with error -16 > > > So this answers Bing Zhao's question - it was CMD5 that timed out and caused > the failure. > > If I just get mmc_wait_for_cmd to hide error -110 for cmd 5 it complains > > [ 26.420440] mmc1: host doesn't support card's voltages > > so that isn't a simple solution :-)
| |