summaryrefslogtreecommitdiff
path: root/drivers/mmc/host/pxamci.c
diff options
context:
space:
mode:
authorBridge Wu <mingqiao.wu@gmail.com>2007-09-25 18:59:07 +0200
committerPierre Ossman <drzeus@drzeus.cx>2007-09-25 18:59:07 +0200
commit81ab570f65395f09962f4bca0d89403f8911c071 (patch)
tree4a2effd3b3a9cfcd1c54826f61b88f9efd2f4a77 /drivers/mmc/host/pxamci.c
parentfaf39ede5e6325d3e91b6e4e0017d27fbecb6022 (diff)
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>
Diffstat (limited to 'drivers/mmc/host/pxamci.c')
-rw-r--r--drivers/mmc/host/pxamci.c2
1 files changed, 1 insertions, 1 deletions
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);