sdio: kick the interrupt thread upon a resume

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>
Cc: <linux-mmc@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Nicolas Pitre 2010-03-05 13:43:34 -08:00 committed by Linus Torvalds
parent 3bca4cf703
commit 40216842dc

View File

@ -441,6 +441,8 @@ static int mmc_sdio_resume(struct mmc_host *host)
mmc_claim_host(host); mmc_claim_host(host);
err = mmc_sdio_init_card(host, host->ocr, host->card, err = mmc_sdio_init_card(host, host->ocr, host->card,
(host->pm_flags & MMC_PM_KEEP_POWER)); (host->pm_flags & MMC_PM_KEEP_POWER));
if (!err && host->sdio_irqs)
mmc_signal_sdio_irq(host);
mmc_release_host(host); mmc_release_host(host);
/* /*