]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/commitdiff
ARM: OMAP: hsmmc requires data reset after data timeout
authorAdrian Hunter <ext-adrian.hunter@nokia.com>
Thu, 16 Oct 2008 13:37:14 +0000 (16:37 +0300)
committerTony Lindgren <tony@atomide.com>
Tue, 28 Oct 2008 16:56:43 +0000 (09:56 -0700)
According to TRM a software reset SRD after data timeout
is required.

Signed-off-by: Adrian Hunter <ext-adrian.hunter@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
drivers/mmc/host/omap_hsmmc.c

index 00b1b682f4e0b097d00a76a9a7d51cd6a0a48386..8fb677e94c469f73aad91c6ff97819f3ebcbb6e7 100644 (file)
@@ -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;
                        }
                }