[PATCH 4/5] SDIO: kick the interrupt thread upon a resume

Nicolas Pitre
2010-02-09T20:29:52Z

Some SDIO cards may suspend while keeping function interrupts active
especially in the powered suspend case. Upon resume we need to kick
the SDIO interrupt thread to check for pending interrupts and to restart
card IRQ detection at the host controller level.

Signed-off-by: Nicolas Pitre <nico@marvell.com>
---
drivers/mmc/core/sdio.c | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/drivers/mmc/core/sdio.c b/drivers/mmc/core/sdio.c
index 7d8ba64..5840de1 100644
--- a/drivers/mmc/core/sdio.c
+++ b/drivers/mmc/core/sdio.c
@@ -441,6 +441,8 @@ static int mmc_sdio_resume(struct mmc_host *host)
mmc_claim_host(host);
err = mmc_sdio_init_card(host, host->ocr, host->card,
(host->pm_flags & MMC_PM_KEEP_POWER));
+ if (!err && host->sdio_irqs)
+ mmc_signal_sdio_irq(host);
mmc_release_host(host);

/*
--
1.7.0.rc2.1.g694b5