This patch from Thomas Kleffel (the author of s3cmci) should fix our SD/MMC instability problems. Signed-off-by: Harald Welte --- linux-2.6.22.1.orig/drivers/mmc/host/s3cmci.c +++ linux-2.6.22.1/drivers/mmc/host/s3cmci.c @@ -665,7 +665,7 @@ #endif //Cleanup controller writel(0, host->base + S3C2410_SDICMDARG); - writel(0, host->base + S3C2410_SDIDCON); + writel(S3C2410_SDIDCON_STOP, host->base + S3C2410_SDIDCON); writel(0, host->base + S3C2410_SDICMDCON); writel(0, host->base + host->sdiimsk); @@ -792,7 +792,7 @@ dbg(host, dbg_err, "mci_setup_data() transfer stillin progress.\n"); - writel(0, host->base + S3C2410_SDIDCON); + writel(S3C2410_SDIDCON_STOP, host->base + S3C2410_SDIDCON); s3cmci_reset(host); if (0 == (stoptries--)) {