diff options
author | Pierre Ossman <drzeus@drzeus.cx> | 2007-07-20 18:20:36 +0200 |
---|---|---|
committer | Pierre Ossman <drzeus@drzeus.cx> | 2007-07-20 18:51:44 +0200 |
commit | 964f9ce2ff42dc47cf40fbd2f5c81cd60689e384 (patch) | |
tree | dbc1d3a7a34af1d34324b629617bd68d35ce1a6e /drivers/mmc/host/sdhci.c | |
parent | 63b66438860f246f25f5563cde4978cf255cb810 (diff) | |
download | op-kernel-dev-964f9ce2ff42dc47cf40fbd2f5c81cd60689e384.zip op-kernel-dev-964f9ce2ff42dc47cf40fbd2f5c81cd60689e384.tar.gz |
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>
Diffstat (limited to 'drivers/mmc/host/sdhci.c')
-rw-r--r-- | drivers/mmc/host/sdhci.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c index 10d15c3..4a24db02 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)); |