Occasional crashes in suspend-resume with MMC transactions

Bedia, Vaibhav vaibhav.bedia at ti.com
Thu Mar 22 12:13:03 EDT 2012


On Thu, Mar 22, 2012 at 21:36:36, S, Venkatraman wrote:
> On Thu, Mar 22, 2012 at 8:13 PM, Bedia, Vaibhav <vaibhav.bedia at ti.com> wrote:
> > On Thu, Mar 22, 2012 at 19:57:16, S, Venkatraman wrote:
> > [...]
> >>
> >> I see (in 3.3) that the host controller driver does a "return ret" and
> >> that means the errors is propagated.
> >> Where is the return code lost /overridden ?
> >>
> >
> > The return code gets overridden due to the call to host->pdata->resume()
> > which always returns 0.
> 
> Thanks - I see what you mean. But the patch is clunky.
> A clean fix would be to not capture the return code of resume() in
> "ret" and let the old
> value of ret be propagated as is.
> 

I agree. However, right now there's a dev_dbg() which checks for the return code.
I could change the host->pdata->resume() and host->pdata->suspend() to not return
anything if that's acceptable.

More importantly, is this the right fix or does the driver need some other fix
to make sure that such suspend failures do not occur at all?



More information about the linux-arm-kernel mailing list