MMC: S3C24XX MMC/SD driver write fixes
This patch is a workaround of some S3C2410 MMC chip bug Signed-off-by: Ben Dooks <ben-linux@fluff.org> Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
This commit is contained in:
parent
be518018c6
commit
679f0f8abd
|
@ -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;
|
||||
|
|
Loading…
Reference in New Issue