All of lore.kernel.org
 help / color / mirror / Atom feed
* CMD7 failing on ATP & Transcend MMC cards
@ 2005-10-03 13:54 Jarkko Lavinen
  2005-10-03 14:02 ` Russell King
  0 siblings, 1 reply; 3+ messages in thread
From: Jarkko Lavinen @ 2005-10-03 13:54 UTC (permalink / raw)
  To: linux-kernel

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

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2005-10-04 13:21 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-10-03 13:54 CMD7 failing on ATP & Transcend MMC cards Jarkko Lavinen
2005-10-03 14:02 ` Russell King
2005-10-04 13:21   ` Jarkko Lavinen

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.