]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/mmc/host/omap_hsmmc.c
Merge branch 'omap-fixes'
[linux-2.6-omap-h63xx.git] / drivers / mmc / host / omap_hsmmc.c
index 63a06266828edb21fda7fefe8172b704bcb1a236..83fc70972d3ff5466886a397e49b469d01444d83 100644 (file)
@@ -298,7 +298,6 @@ mmc_omap_xfer_done(struct mmc_omap_host *host, struct mmc_data *data)
                struct mmc_request *mrq = host->mrq;
 
                host->mrq = NULL;
-               mmc_omap_fclk_lazy_disable(host);
                mmc_request_done(host->mmc, mrq);
                return;
        }
@@ -434,6 +433,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,7 +490,8 @@ static irqreturn_t mmc_omap_irq(int irq, void *dev_id)
        }
 
        OMAP_HSMMC_WRITE(host->base, STAT, status);
-       OMAP_HSMMC_READ(host->base, STAT); /* flush posted write */
+       /* Flush posted write */
+       OMAP_HSMMC_READ(host->base, STAT);
 
        if (end_cmd || (status & CC))
                mmc_omap_cmd_done(host, host->cmd);