Commit fa95d28c authored by Madhusudhan Chikkature's avatar Madhusudhan Chikkature Committed by Tony Lindgren

HSMMC driver fix for core ret

ARM: OMAP3: HSMMC fix for core ret.

The core ret seem to be prevented by HSMMC CTO errors. This patch provides a
fix for the same.

Signed-off-by: Madhusudhan Chikkature<madhu.cr@ti.com>
Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
parent 87a6b618
...@@ -84,6 +84,7 @@ ...@@ -84,6 +84,7 @@
#define STAT_CLEAR 0xFFFFFFFF #define STAT_CLEAR 0xFFFFFFFF
#define INIT_STREAM_CMD 0x00000000 #define INIT_STREAM_CMD 0x00000000
#define DUAL_VOLT_OCR_BIT 7 #define DUAL_VOLT_OCR_BIT 7
#define SRC (1 << 25)
#define OMAP_MMC1_DEVID 1 #define OMAP_MMC1_DEVID 1
#define OMAP_MMC2_DEVID 2 #define OMAP_MMC2_DEVID 2
...@@ -315,10 +316,16 @@ static irqreturn_t mmc_omap_irq(int irq, void *dev_id) ...@@ -315,10 +316,16 @@ static irqreturn_t mmc_omap_irq(int irq, void *dev_id)
if ((status & CMD_TIMEOUT) || if ((status & CMD_TIMEOUT) ||
(status & CMD_CRC)) { (status & CMD_CRC)) {
if (host->cmd) { if (host->cmd) {
if (status & CMD_TIMEOUT) if (status & CMD_TIMEOUT) {
OMAP_HSMMC_WRITE(host->base, SYSCTL,
OMAP_HSMMC_READ(host->base,
SYSCTL) | SRC);
while (OMAP_HSMMC_READ(host->base,
SYSCTL) & SRC) ;
host->cmd->error = -ETIMEDOUT; host->cmd->error = -ETIMEDOUT;
else } else {
host->cmd->error = -EILSEQ; host->cmd->error = -EILSEQ;
}
end_cmd = 1; end_cmd = 1;
} }
if (host->data) if (host->data)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment