On Thu, 19 Jul 2007 12:15:34 -0700
Jeremy Fitzhardinge <[EMAIL PROTECTED]> 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 <[EMAIL PROTECTED]>
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 <[EMAIL PROTECTED]>

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

Reply via email to