Skip to content

Commit

Permalink
MMC: S3C24XX MMC/SD driver write fixes
Browse files Browse the repository at this point in the history
This patch is a workaround of some S3C2410 MMC chip bug

Signed-off-by: Ben Dooks <[email protected]>
Signed-off-by: Pierre Ossman <[email protected]>
  • Loading branch information
laf0rge authored and Pierre Ossman committed Jul 15, 2008
1 parent be51801 commit 679f0f8
Showing 1 changed file with 13 additions and 3 deletions.
16 changes: 13 additions & 3 deletions drivers/mmc/host/s3cmci.c
Original file line number Diff line number Diff line change
Expand Up @@ -461,9 +461,19 @@ static irqreturn_t s3cmci_irq(int irq, void *dev_id)

if (mci_csta & S3C2410_SDICMDSTAT_CRCFAIL) {
if (cmd->flags & MMC_RSP_CRC) {
cmd->error = -EILSEQ;
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 {
/* 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;
Expand Down

0 comments on commit 679f0f8

Please sign in to comment.