diff options
author | Ingo Molnar <mingo@elte.hu> | 2009-05-11 08:44:27 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2009-05-11 08:44:31 -0400 |
commit | 41fb454ebe6024f5c1e3b3cbc0abc0da762e7b51 (patch) | |
tree | 51c50bcb67a5039448ddfa1869d7948cab1217e9 /drivers/mmc/host/omap_hsmmc.c | |
parent | 19c1a6f5764d787113fa323ffb18be7991208f82 (diff) | |
parent | 091bf7624d1c90cec9e578a18529f615213ff847 (diff) |
Merge commit 'v2.6.30-rc5' into core/iommu
Merge reason: core/iommu was on an .30-rc1 base,
update it to .30-rc5 to refresh.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'drivers/mmc/host/omap_hsmmc.c')
-rw-r--r-- | drivers/mmc/host/omap_hsmmc.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/mmc/host/omap_hsmmc.c b/drivers/mmc/host/omap_hsmmc.c index d183be6f2a5f..e62a22a7f00c 100644 --- a/drivers/mmc/host/omap_hsmmc.c +++ b/drivers/mmc/host/omap_hsmmc.c | |||
@@ -298,7 +298,6 @@ mmc_omap_xfer_done(struct mmc_omap_host *host, struct mmc_data *data) | |||
298 | struct mmc_request *mrq = host->mrq; | 298 | struct mmc_request *mrq = host->mrq; |
299 | 299 | ||
300 | host->mrq = NULL; | 300 | host->mrq = NULL; |
301 | mmc_omap_fclk_lazy_disable(host); | ||
302 | mmc_request_done(host->mmc, mrq); | 301 | mmc_request_done(host->mmc, mrq); |
303 | return; | 302 | return; |
304 | } | 303 | } |
@@ -434,6 +433,8 @@ static irqreturn_t mmc_omap_irq(int irq, void *dev_id) | |||
434 | if (host->mrq == NULL) { | 433 | if (host->mrq == NULL) { |
435 | OMAP_HSMMC_WRITE(host->base, STAT, | 434 | OMAP_HSMMC_WRITE(host->base, STAT, |
436 | OMAP_HSMMC_READ(host->base, STAT)); | 435 | OMAP_HSMMC_READ(host->base, STAT)); |
436 | /* Flush posted write */ | ||
437 | OMAP_HSMMC_READ(host->base, STAT); | ||
437 | return IRQ_HANDLED; | 438 | return IRQ_HANDLED; |
438 | } | 439 | } |
439 | 440 | ||
@@ -489,8 +490,10 @@ static irqreturn_t mmc_omap_irq(int irq, void *dev_id) | |||
489 | } | 490 | } |
490 | 491 | ||
491 | OMAP_HSMMC_WRITE(host->base, STAT, status); | 492 | OMAP_HSMMC_WRITE(host->base, STAT, status); |
493 | /* Flush posted write */ | ||
494 | OMAP_HSMMC_READ(host->base, STAT); | ||
492 | 495 | ||
493 | if (end_cmd || (status & CC)) | 496 | if (end_cmd || ((status & CC) && host->cmd)) |
494 | mmc_omap_cmd_done(host, host->cmd); | 497 | mmc_omap_cmd_done(host, host->cmd); |
495 | if (end_trans || (status & TC)) | 498 | if (end_trans || (status & TC)) |
496 | mmc_omap_xfer_done(host, data); | 499 | mmc_omap_xfer_done(host, data); |