RE: [PATCH] mmc: omap_hsmmc: Pass on the suspend failure to the PMcore
From: Hebbar, Gururaja
Date: Thu Sep 13 2012 - 03:09:47 EST
On Tue, Sep 11, 2012 at 11:13:26, S, Venkatraman wrote:
> On Tue, Sep 4, 2012 at 6:38 PM, Hebbar, Gururaja <gururaja.hebbar@xxxxxx> wrote:
> > From: Vaibhav Bedia <vaibhav.bedia@xxxxxx>
> > In some cases mmc_suspend_host() is not able to claim the
> > host and proceed with the suspend process. The core returns
> > -EBUSY to the host controller driver. Unfortunately, the
> > host controller driver does not pass on this information
> > to the PM core and hence the system suspend process continues.
> > In these cases the MMC core gets to an unexpected state
> > during resume and multiple issues related to MMC crop up.
> > 1. Host controller driver starts accessing the device registers
> > before the clocks are enabled which leads to a prefetch abort.
> > 2. A file copy thread which was launched before suspend gets
> > stuck due to the host not being reclaimed during resume.
> > To avoid such problems pass on the -EBUSY status to the PM core
> > from the host controller driver. With this change, MMC core
> > suspend might still fail but it does not end up making the
> > system unusable. Suspend gets aborted and the user can try
> > suspending the system again.
> The last time we discussed this, didn't we plan to fix this differently ?
> Holding the return code of mmc_suspend_host in a separate variable and
> passing it to the caller
> of omap_hsmmc_suspend looks more sane to me.
I just pushed a new revision (V2) with above changes. I also added extra information
(explanation with code snippet). Kindly let me know your review for the same.
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/