提交 0107a4b3 编写于 作者: R Ragner Magalhaes 提交者: Pierre Ossman

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: NRagner Magalhaes <ragner.magalhaes@indt.org.br>
Signed-off-by: NCarlos Eduardo Aguiar <carlos.aguiar@indt.org.br>
Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
上级 a0e1d1d0
......@@ -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;
}
/*
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册