Merge commit drm-intel-fixes into topic/ppgtt
[firefly-linux-kernel-4.4.55.git] / drivers / mmc / host / sdhci.c
index 6785fb1dc5c621efd2bf4c7579d6841a7a4b5340..bd8a0982aec33ec99b95b97fbcbdd65dee642770 100644 (file)
@@ -2501,6 +2501,14 @@ again:
        result = IRQ_HANDLED;
 
        intmask = sdhci_readl(host, SDHCI_INT_STATUS);
+
+       /*
+        * If we know we'll call the driver to signal SDIO IRQ, disregard
+        * further indications of Card Interrupt in the status to avoid a
+        * needless loop.
+        */
+       if (cardint)
+               intmask &= ~SDHCI_INT_CARD_INT;
        if (intmask && --max_loops)
                goto again;
 out: