From: Mark Lord Date: Tue, 6 Mar 2007 12:30:13 +0000 (+0100) Subject: sdhci: make isr tolerant of read errors X-Git-Tag: v2.6.21-rc3~22^2~1 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=62df67a523acd7a22d936bf946b1889dbd60ca98;p=linux-2.6 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 Signed-off-by: Andrew Morton Signed-off-by: Pierre Ossman --- diff --git a/drivers/mmc/sdhci.c b/drivers/mmc/sdhci.c index c52b167e85..f3260ec61f 100644 --- a/drivers/mmc/sdhci.c +++ b/drivers/mmc/sdhci.c @@ -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; }