From: Adrian Hunter Date: Thu, 16 Oct 2008 13:37:14 +0000 (+0300) Subject: ARM: OMAP: hsmmc requires data reset after data timeout X-Git-Tag: v2.6.28-omap1~214 X-Git-Url: http://pilppa.com/gitweb/?a=commitdiff_plain;h=a23ee2ba73d497a30e67c500d3e32ab070e75a00;p=linux-2.6-omap-h63xx.git ARM: OMAP: hsmmc requires data reset after data timeout According to TRM a software reset SRD after data timeout is required. Signed-off-by: Adrian Hunter Signed-off-by: Tony Lindgren --- diff --git a/drivers/mmc/host/omap_hsmmc.c b/drivers/mmc/host/omap_hsmmc.c index 00b1b682f4e..8fb677e94c4 100644 --- a/drivers/mmc/host/omap_hsmmc.c +++ b/drivers/mmc/host/omap_hsmmc.c @@ -417,6 +417,11 @@ static irqreturn_t mmc_omap_irq(int irq, void *dev_id) mmc_dma_cleanup(host); else host->data->error = -EILSEQ; + OMAP_HSMMC_WRITE(host->base, SYSCTL, + OMAP_HSMMC_READ(host->base, + SYSCTL) | SRD); + while (OMAP_HSMMC_READ(host->base, + SYSCTL) & SRD) ; end_trans = 1; } }