Re: [RFC] MMC: error handling improvements

Russell King - ARM Linux
2011-02-19T15:00:21Z

On Tue, Feb 15, 2011 at 03:49:04PM -0800, David Brown wrote:
> On Tue, Feb 15 2011, Russell King - ARM Linux wrote:
>
> > This patch is for RFC only; it needs splitting up somewhat. However, I
> > wanted to get it out there for some comment.
>
> Just for kicks, I applied this and ran it on an MSM target (8x50). It
> seems to cause lots of:
>
> mmc0: Data timeout
> mmc0: Controller has been re-initialized
> ...
> mmc0: Data CRC error
>
> and I can post more if you would find them interesting. Eventually the
> MSM mmc driver derefernces a null pointer in the interrupt code.

That doesn't look right. If resetting the MMC controller results in all
state being lost, it presumably means the card gets powered down too.
If that happens, the card needs to be reinitialized from scratch again,
and I don't see how that happens in this driver.

Nothing in this patch should cause data timeouts to appear where they
weren't already appearing before the patch - the patch only changes
what happens after an error occurs, so you must already be encountering
errors on the interface before you applied this patch.