aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/mmc/host/pxamci.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/drivers/mmc/host/pxamci.c b/drivers/mmc/host/pxamci.c
index 3c5483b75da4..3000422f4d81 100644
--- a/drivers/mmc/host/pxamci.c
+++ b/drivers/mmc/host/pxamci.c
@@ -251,18 +251,17 @@ static int pxamci_cmd_done(struct pxamci_host *host, unsigned int stat)
251 if (stat & STAT_TIME_OUT_RESPONSE) { 251 if (stat & STAT_TIME_OUT_RESPONSE) {
252 cmd->error = -ETIMEDOUT; 252 cmd->error = -ETIMEDOUT;
253 } else if (stat & STAT_RES_CRC_ERR && cmd->flags & MMC_RSP_CRC) { 253 } else if (stat & STAT_RES_CRC_ERR && cmd->flags & MMC_RSP_CRC) {
254#ifdef CONFIG_PXA27x
255 /* 254 /*
256 * workaround for erratum #42: 255 * workaround for erratum #42:
257 * Intel PXA27x Family Processor Specification Update Rev 001 256 * Intel PXA27x Family Processor Specification Update Rev 001
258 * A bogus CRC error can appear if the msb of a 136 bit 257 * A bogus CRC error can appear if the msb of a 136 bit
259 * response is a one. 258 * response is a one.
260 */ 259 */
261 if (cmd->flags & MMC_RSP_136 && cmd->resp[0] & 0x80000000) { 260 if (cpu_is_pxa27x() &&
261 (cmd->flags & MMC_RSP_136 && cmd->resp[0] & 0x80000000))
262 pr_debug("ignoring CRC from command %d - *risky*\n", cmd->opcode); 262 pr_debug("ignoring CRC from command %d - *risky*\n", cmd->opcode);
263 } else 263 else
264#endif 264 cmd->error = -EILSEQ;
265 cmd->error = -EILSEQ;
266 } 265 }
267 266
268 pxamci_disable_irq(host, END_CMD_RES); 267 pxamci_disable_irq(host, END_CMD_RES);