diff mbox

MMC: OMAP: Flush posted write to IRQ

Message ID 49D9D258.80008@nokia.com (mailing list archive)
State Superseded, archived
Headers show

Commit Message

Roger Quadros April 6, 2009, 9:58 a.m. UTC
From: Roger Quadros <ext-roger.quadros@nokia.com>
Date: Mon, 6 Apr 2009 12:54:21 +0300
Subject: [PATCH] MMC: OMAP: Flush posted write to IRQ

Flush posted write to IRQ status register in HSMMC interrupt handler
to avoid spurious interrupts.

This is in addition to commit id,
b420f201e8c3bba92606fb98a032ee019804835d

Signed-off-by: Roger Quadros <ext-roger.quadros@nokia.com>
---
  drivers/mmc/host/omap_hsmmc.c |    2 ++
  1 files changed, 2 insertions(+), 0 deletions(-)

Comments

Paul Walmsley April 6, 2009, 10:01 a.m. UTC | #1
Hello Roger,

these patches may be useful: 

http://www.pwsan.com/omap/spurious-irq-fix.tar.gz

I'd be curious to know if they resolve any other spurious IRQs that you 
might be seeing.


- Paul
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/drivers/mmc/host/omap_hsmmc.c b/drivers/mmc/host/omap_hsmmc.c
index ac51f0b..c1f09fa 100644
--- a/drivers/mmc/host/omap_hsmmc.c
+++ b/drivers/mmc/host/omap_hsmmc.c
@@ -415,6 +415,8 @@  static irqreturn_t mmc_omap_irq(int irq, void *dev_id)
  	if (host->cmd == NULL && host->data == NULL) {
  		OMAP_HSMMC_WRITE(host->base, STAT,
  			OMAP_HSMMC_READ(host->base, STAT));
+		/* Flush posted write to avoid spurious interrupt */
+		OMAP_HSMMC_READ(host->base, STAT);
  		return IRQ_HANDLED;
  	}