Messages in this thread Patch in this message | | | Date | Fri, 20 Jul 2007 18:22:03 +0200 | From | Pierre Ossman <> | Subject | Re: SDHCI: mmc0: Unexpected interrupt 0x00008000. |
| |
On Thu, 19 Jul 2007 12:15:34 -0700 Jeremy Fitzhardinge <jeremy@goop.org> wrote:
> I'm getting this with current GIT kernels when I plug an SD card into > the side of my machine. It appears to see the filesystem OK anyway, > but for some reason all the hal/gnome desktop stuff isn't seeing it. > Was working last week. >
This appeared because we fixed another bug. Try the included patch.
Rgds -- -- Pierre Ossman
Linux kernel, MMC maintainer http://www.kernel.org PulseAudio, core developer http://pulseaudio.org rdesktop, core developer http://www.rdesktop.org commit 0668da722a0c48e8629d697fa354e23a02548093 Author: Pierre Ossman <drzeus@drzeus.cx> Date: Fri Jul 20 18:20:36 2007 +0200
sdhci: make sure to clear the error interrupt
The controller has a bit indicating that one of the higher bits (the error bits) are set. A previous bug caused this bit to be masked, but since that bug has been fixed we have to clear it explicictly.
Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c index 10d15c3..4a24db0 100644 --- a/drivers/mmc/host/sdhci.c +++ b/drivers/mmc/host/sdhci.c @@ -1024,6 +1024,8 @@ static irqreturn_t sdhci_irq(int irq, void *dev_id) intmask &= ~(SDHCI_INT_CMD_MASK | SDHCI_INT_DATA_MASK); + intmask &= ~SDHCI_INT_ERROR; + if (intmask & SDHCI_INT_BUS_POWER) { printk(KERN_ERR "%s: Card is consuming too much power!\n", mmc_hostname(host->mmc)); diff --git a/drivers/mmc/host/sdhci.h b/drivers/mmc/host/sdhci.h index 7400f4b..a6c8704 100644 --- a/drivers/mmc/host/sdhci.h +++ b/drivers/mmc/host/sdhci.h @@ -107,6 +107,7 @@ #define SDHCI_INT_CARD_INSERT 0x00000040 #define SDHCI_INT_CARD_REMOVE 0x00000080 #define SDHCI_INT_CARD_INT 0x00000100 +#define SDHCI_INT_ERROR 0x00008000 #define SDHCI_INT_TIMEOUT 0x00010000 #define SDHCI_INT_CRC 0x00020000 #define SDHCI_INT_END_BIT 0x00040000 | |