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

From: Alan Stern
Date: Tue Mar 04 2008 - 14:51:49 EST


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

--
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/