diff options
-rw-r--r-- | drivers/mmc/host/pxamci.c | 9 |
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); |