Commit 679f0f8a authored by Harald Welte's avatar Harald Welte Committed by Pierre Ossman

MMC: S3C24XX MMC/SD driver write fixes

This patch is a workaround of some S3C2410 MMC chip bug
Signed-off-by: default avatarBen Dooks <ben-linux@fluff.org>
Signed-off-by: default avatarPierre Ossman <drzeus@drzeus.cx>
parent be518018
...@@ -461,9 +461,19 @@ static irqreturn_t s3cmci_irq(int irq, void *dev_id) ...@@ -461,9 +461,19 @@ static irqreturn_t s3cmci_irq(int irq, void *dev_id)
if (mci_csta & S3C2410_SDICMDSTAT_CRCFAIL) { if (mci_csta & S3C2410_SDICMDSTAT_CRCFAIL) {
if (cmd->flags & MMC_RSP_CRC) { if (cmd->flags & MMC_RSP_CRC) {
cmd->error = -EILSEQ; if (host->mrq->cmd->flags & MMC_RSP_136) {
host->status = "error: bad command crc"; dbg(host, dbg_irq,
goto fail_transfer; "fixup: ignore CRC fail with long rsp\n");
} else {
/* note, we used to fail the transfer
* here, but it seems that this is just
* the hardware getting it wrong.
*
* cmd->error = -EILSEQ;
* host->status = "error: bad command crc";
* goto fail_transfer;
*/
}
} }
mci_cclear |= S3C2410_SDICMDSTAT_CRCFAIL; mci_cclear |= S3C2410_SDICMDSTAT_CRCFAIL;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment