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>
This commit is contained in:
Родитель
63b6643886
Коммит
964f9ce2ff
|
@ -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));
|
||||
|
|
|
@ -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
|
||||
|
|
Загрузка…
Ссылка в новой задаче