diff options
author | Ragner Magalhaes <ragner.magalhaes@indt.org.br> | 2007-06-13 19:09:28 +0200 |
---|---|---|
committer | Pierre Ossman <drzeus@drzeus.cx> | 2007-06-13 19:11:14 +0200 |
commit | 0107a4b32e36dccd4456e2c5e34c5cd22c94e094 (patch) | |
tree | 38b048641160336f8d2ea453e38e339e10ed9fd6 /drivers/mmc | |
parent | a0e1d1d075cc0efe9a3ac8579bce9393d070e09f (diff) | |
download | op-kernel-dev-0107a4b32e36dccd4456e2c5e34c5cd22c94e094.zip op-kernel-dev-0107a4b32e36dccd4456e2c5e34c5cd22c94e094.tar.gz |
mmc-omap: fix sd response type 6 vs. 1
Ignoring OMAP_MMC_STAT_CARD_ERR, treating it as if the command
completed correctly.
Signed-off-by: Ragner Magalhaes <ragner.magalhaes@indt.org.br>
Signed-off-by: Carlos Eduardo Aguiar <carlos.aguiar@indt.org.br>
Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
Diffstat (limited to 'drivers/mmc')
-rw-r--r-- | drivers/mmc/host/omap.c | 24 |
1 files changed, 3 insertions, 21 deletions
diff --git a/drivers/mmc/host/omap.c b/drivers/mmc/host/omap.c index 1914e65..b0824a3 100644 --- a/drivers/mmc/host/omap.c +++ b/drivers/mmc/host/omap.c @@ -522,28 +522,10 @@ static irqreturn_t mmc_omap_irq(int irq, void *dev_id) } if (status & OMAP_MMC_STAT_CARD_ERR) { - if (host->cmd && host->cmd->opcode == MMC_STOP_TRANSMISSION) { - u32 response = OMAP_MMC_READ(host, RSP6) - | (OMAP_MMC_READ(host, RSP7) << 16); - /* STOP sometimes sets must-ignore bits */ - if (!(response & (R1_CC_ERROR - | R1_ILLEGAL_COMMAND - | R1_COM_CRC_ERROR))) { - end_command = 1; - continue; - } - } - - dev_dbg(mmc_dev(host->mmc), "card status error (CMD%d)\n", + dev_dbg(mmc_dev(host->mmc), + "ignoring card status error (CMD%d)\n", host->cmd->opcode); - if (host->cmd) { - host->cmd->error = MMC_ERR_FAILED; - end_command = 1; - } - if (host->data) { - host->data->error = MMC_ERR_FAILED; - transfer_error = 1; - } + end_command = 1; } /* |