sdhci: make isr tolerant of read errors

The interrupt is shared with another device, which resumes earlier than the
sdhci controller, and generates an interrupt.

The sdhci interrupt handler runs, sees 0xffffffff in its own device's
interrupt status, and tries to handle it..  The reason for the 0xffffffff
is that the device is still suspended, and *all* regs are reading back
0xffffffff.

Signed-off-by: Mark Lord <mlord@pobox.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
This commit is contained in:
Mark Lord 2007-03-06 13:30:13 +01:00 committed by Pierre Ossman
parent cd9277c011
commit 62df67a523

View File

@ -993,7 +993,7 @@ static irqreturn_t sdhci_irq(int irq, void *dev_id)
intmask = readl(host->ioaddr + SDHCI_INT_STATUS);
if (!intmask) {
if (!intmask || intmask == 0xffffffff) {
result = IRQ_NONE;
goto out;
}