Some MMC cards were failing repeatedly on Omap1710 in the card
select command CMD7. Doing an extra status inquiry when leaving the card
identification mode removed the problem. This is possibly Omap1710 mmc
controller only problem, but might also also appear on other mmc
controllers.
So far, the problem occured only on ATP and Transcend cards when the card
have already been detected and then mmc_detect_change() is called to
check if any new cards have been inserted. After CMD2 the next card
select command CMD7 fails due to illegal command error.
I don't know why only ATP and Transcend have this problem and why
doing status inquiry CMD13 helps. Status inquiry command is neutral
and is claimed to not change the card state in the MMC spec. :-)
The order of commands must be CMD13 first, then CMD7. CMD13 fails
also due to illegal instruction error after CMD2 but after this the
card is back to its senses.
If CMD7 is run first, and CMD13 once CMD7 is seen failing, this fails
to bring the card back to its senses. Then the CMD7 fails repeatedly
due to command timeout before and after CMD13.
I got rid of the problem by simply adding call to mmc_check_cards()
at and of mmc_setup() function, which is perhaps an overkill. One could do
it also in mmc_rescan() after switching back to higher clock.
Jarkko Lavinen
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]