]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/mmc/host/omap_hsmmc.c
ARM: OMAP: hsmmc requires data reset after data timeout
[linux-2.6-omap-h63xx.git] / 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;
                        }
                }