This patch is a workaround of some S3C2410 MMC chip bug Index: linux-2.6.17.14-fic4.test/drivers/mmc/s3cmci.c =================================================================== --- linux-2.6.17.14-fic4.test.orig/drivers/mmc/s3cmci.c 2007-01-24 12:17:51.000000000 +0100 +++ linux-2.6.17.14-fic4.test/drivers/mmc/s3cmci.c 2007-01-24 12:17:52.000000000 +0100 @@ -445,11 +445,17 @@ if (mci_csta & S3C2410_SDICMDSTAT_CRCFAIL) { if (cmd->flags & MMC_RSP_CRC) { - cmd->error = MMC_ERR_BADCRC; - host->status = "error: bad command crc"; - goto fail_transfer; + if (host->mrq->cmd->flags & MMC_RSP_136) { + dbg(host, dbg_irq, + "fixup: ignore CRC fail with long rsp\n"); + } else { +#if 0 + cmd->error = MMC_ERR_BADCRC; + host->status = "error: bad command crc"; + goto fail_transfer; +#endif + } } - mci_cclear |= S3C2410_SDICMDSTAT_CRCFAIL; }