[patch 2/5] MMC OMAP driver

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



ATP and Transcend cards failing repeatedly in the card select command
(CMD7) due to illegal instruction after CMD2.  Doing an extra status inquiry
when leaving the card identification mode seems to fix this problem.
The attached patch does the extra probing in mmc_setup() during
low clock which is perhaps an overkill. One could do it also in
mmc_rescan() after switching back to higher clock.

Signed-off-by: Jarkko Lavinen <[email protected]>

Index: linux-2.6.15-mmc_omap/drivers/mmc/mmc.c
===================================================================
--- linux-2.6.15-mmc_omap.orig/drivers/mmc/mmc.c	2006-01-30 10:29:29.000000000 -0400
+++ linux-2.6.15-mmc_omap/drivers/mmc/mmc.c	2006-01-30 10:29:31.000000000 -0400
@@ -1087,6 +1087,14 @@ static void mmc_setup(struct mmc_host *h
 	 */
 	host->ios.bus_mode = MMC_BUSMODE_PUSHPULL;
 	host->ops->set_ios(host, &host->ios);
+	
+	/*
+	 * Some already detected cards get confused in the card identification
+	 * mode and futher commands can fail. Doing an extra status inquiry
+	 * after the identification mode seems to get cards back to their
+	 * senses.
+	 */
+	mmc_check_cards(host);

 	mmc_read_csds(host);

-
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]
  Powered by Linux