From 81ab570f65395f09962f4bca0d89403f8911c071 Mon Sep 17 00:00:00 2001
From: Bridge Wu <mingqiao.wu@gmail.com>
Date: Tue, 25 Sep 2007 18:59:07 +0200
Subject: [PATCH] mmc: pxamci: better pending IRQ determination

Pending interrupts should be determined from both I_REG and I_MASK
registers.

Signed-off-by: Bridge Wu <mingqiao.wu@gmail.com>
Signed-off-by: Nicolas Pitre <nico@marvell.com>
Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
---
 drivers/mmc/host/pxamci.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/mmc/host/pxamci.c b/drivers/mmc/host/pxamci.c
index b89e32d1e9b5..03d162881159 100644
--- a/drivers/mmc/host/pxamci.c
+++ b/drivers/mmc/host/pxamci.c
@@ -298,7 +298,7 @@ static irqreturn_t pxamci_irq(int irq, void *devid)
 	unsigned int ireg;
 	int handled = 0;
 
-	ireg = readl(host->base + MMC_I_REG);
+	ireg = readl(host->base + MMC_I_REG) & ~readl(host->base + MMC_I_MASK);
 
 	if (ireg) {
 		unsigned stat = readl(host->base + MMC_STAT);