Re: Bugs in MMC [was: [Bug 10030] Suspend doesn't work when SD card is inserted]

Alan Stern
2008-03-04T19:51:48Z

On Tue, 4 Mar 2008, David Brownell wrote:

> > I don't understand this comment. Suppose a card was inserted while the
> > system was hibernating. If the core didn't reprobe, when would that
> > card be discovered?
>
> The host controller would tell the core to check for a card, exactly
> like it does at all other times.

But how would the host controller know to do that? Isn't card
insertion detection often driven by interrupts? If a card is
inserted while the computer is off, no interrupt will be generated.

> That's the natural alternative to having the MMC core assume that card
> detection was broken in low power states, so that the core needed to
> forcibly remove the cards before suspend, and reprobe during resume
> processing.

Is that the assumption the MMC core was really making? Are you sure it
wasn't assuming something else (perhaps equally as bad)?

> Having the MMC core make such needless assumptions can cause problems
> for the upper layers, including filesystems.

What's wrong with a superfluous probe at resume time, besides the waste
of a few milliseconds?

Alan Stern