[PATCH] fix random SD/MMC card recognition failures on ARMVersatile

From: Vitaly Wool
Date: Thu Nov 23 2006 - 10:46:26 EST


Hello Pierre,

currently sometimes the SD/MMC card inserted results in recognition failure on ARM Versatile board:

<<<Plug in MMC card>>>

root@versatile:~# mmcblk0: mmc0:0001 SDMB-32 31360KiB
mmcblk0:<3>mmcblk0: error 3 transferring data
end_request: I/O error, dev mmcblk0, sector 0
Buffer I/O error on device mmcblk0, logical block 0
mmcblk0: error 3 transferring data
end_request: I/O error, dev mmcblk0, sector 0
Buffer I/O error on device mmcblk0, logical block 0
unable to read partition table

This patch fixes the problem.

drivers/mmc/mmci.c | 2 ++
1 file changed, 2 insertions(+)

Signed-off-by: Vitaly Wool <vitalywool@xxxxxxxxx>

Index: linux-2.6.18/drivers/mmc/mmci.c
===================================================================
--- linux-2.6.18.orig/drivers/mmc/mmci.c
+++ linux-2.6.18/drivers/mmc/mmci.c
@@ -41,6 +41,8 @@ static void
mmci_request_end(struct mmci_host *host, struct mmc_request *mrq)
{
writel(0, host->base + MMCICOMMAND);
+ writel(0, host->base + MMCIDATACTRL);
+ writel(0, host->base + MMCIMASK1);

host->mrq = NULL;
host->cmd = NULL;
-
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/