Re: MMC: When rescanning cards check existing cards after mmc_setup()

From: Timo Teras
Date: Tue Oct 24 2006 - 06:19:29 EST


On Sun, Oct 22, 2006 at 11:55:17AM +0200, Pierre Ossman wrote:
> Timo Teras wrote:
> > Some broken cards seem to process CMD1 even in stand-by state. The result is
> > that the card replies with ILLEGAL_COMMAND error for the next command sent
> > after rescanning. Currently the next command is select card, which would
> > return the error. But the CMD7 does actually succeed and retries of the
> > command will timeout. The solution is to poll card status after the CMD1
> > which clears the cached error.
>
> I take it these cards do not reply to CMD2?

No. It just caches the error and fails the next command sent.

> This change is ok right now, but might come back to bite us in the
> future if we implement more intelligent voltage selection (right now new
> cards will have to make due with what's already selected).

I see. The voltage selection is done in mmc_setup() based on what cards are
present.

> If we check cards on both sides of mmc_setup(), then we should be covered.

Should I update my patch to do this already? Or is the code fine as is?

> Also, please add some comments about why we do this. Otherwise it will
> run the risk of getting removed in the future.

Will do.

I'll send updated patch later on.

-- Timo

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