]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/mmc/host/omap_hsmmc.c
omap_hsmmc: Flush posted write to IRQ
[linux-2.6-omap-h63xx.git] / drivers / mmc / host / omap_hsmmc.c
index d183be6f2a5f7ab369ef8b60c5cfd25815db110f..a752788fa4e97df1e192f21c9ff0d3db46109dee 100644 (file)
@@ -434,6 +434,8 @@ static irqreturn_t mmc_omap_irq(int irq, void *dev_id)
        if (host->mrq == NULL) {
                OMAP_HSMMC_WRITE(host->base, STAT,
                        OMAP_HSMMC_READ(host->base, STAT));
+               /* Flush posted write */
+               OMAP_HSMMC_READ(host->base, STAT);
                return IRQ_HANDLED;
        }
 
@@ -489,6 +491,8 @@ static irqreturn_t mmc_omap_irq(int irq, void *dev_id)
        }
 
        OMAP_HSMMC_WRITE(host->base, STAT, status);
+       /* Flush posted write */
+       OMAP_HSMMC_READ(host->base, STAT);
 
        if (end_cmd || (status & CC))
                mmc_omap_cmd_done(host, host->cmd);