mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-20 17:44:33 +08:00
mmc: sdhci: Avoid needless loop while handling SDIO interrupts in sdhci_irq
Ignore Card Interrupt bit in the interrupt status if we already know that mmc_signal_sdio_irq() is going to be called at the end of sdhci_irq(). This avoids a needless loop in sdhci_irq() repeatedly reading interrupt status and doing nothing. Signed-off-by: Alexey Neyman <stilor@att.net> Acked-by: Dong Aisheng <b29396@freescale.com> Signed-off-by: Chris Ball <cjb@laptop.org>
This commit is contained in:
parent
4d22378221
commit
0a8fd09ca9
@ -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:
|
||||
|
Loading…
Reference in New Issue
Block a user