summaryrefslogtreecommitdiff
path: root/drivers/mmc
diff options
context:
space:
mode:
authorNicolas Pitre <nico@fluxnic.net>2010-03-05 21:43:34 (GMT)
committerLinus Torvalds <torvalds@linux-foundation.org>2010-03-06 19:26:37 (GMT)
commit40216842dca4fa485cb1aa5eb231149a4a57cc85 (patch)
tree25e51613412e3c8188d6476ec886a2f844d51714 /drivers/mmc
parent3bca4cf703826fcb2bbabbe19c6fc7b2fc4fd7cc (diff)
downloadlinux-fsl-qoriq-40216842dca4fa485cb1aa5eb231149a4a57cc85.tar.xz
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>
Diffstat (limited to 'drivers/mmc')
-rw-r--r--drivers/mmc/core/sdio.c2
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);
/*