diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2017-02-03 23:01:54 +0300 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2017-02-03 23:01:54 +0300 |
commit | cd44691f7177b2c1e1509d1a17d9b198ebaa34eb (patch) | |
tree | af696f53d3cdbe9011cdb9168b73e1b524411ecf | |
parent | 79c9089f97d37ffac88c3ddb6d359b2cf75058b7 (diff) | |
parent | 161e6d44a5e2d3f85365cb717d60e363171b39e6 (diff) | |
download | linux-cd44691f7177b2c1e1509d1a17d9b198ebaa34eb.tar.xz |
Merge tag 'mmc-v4.10-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc
Pull MMC fix from Ulf Hansson:
"MMC host: sdhci: Avoid hang when receiving spurious CARD_INT
interrupts"
* tag 'mmc-v4.10-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc:
mmc: sdhci: Ignore unexpected CARD_INT interrupts
-rw-r--r-- | drivers/mmc/host/sdhci.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c index 23909804ffb8..0def99590d16 100644 --- a/drivers/mmc/host/sdhci.c +++ b/drivers/mmc/host/sdhci.c @@ -2733,7 +2733,8 @@ static irqreturn_t sdhci_irq(int irq, void *dev_id) if (intmask & SDHCI_INT_RETUNE) mmc_retune_needed(host->mmc); - if (intmask & SDHCI_INT_CARD_INT) { + if ((intmask & SDHCI_INT_CARD_INT) && + (host->ier & SDHCI_INT_CARD_INT)) { sdhci_enable_sdio_irq_nolock(host, false); host->thread_isr |= SDHCI_INT_CARD_INT; result = IRQ_WAKE_THREAD; |