summaryrefslogtreecommitdiffstats
path: root/drivers/mmc/core/sdio_irq.c
diff options
context:
space:
mode:
authorTony Lindgren <tony@atomide.com>2012-02-24 16:48:27 -0800
committerTony Lindgren <tony@atomide.com>2012-02-24 16:48:27 -0800
commitffd76d8be36da09f8456c55569c008f5aa93095e (patch)
tree4a5e537edcdd3be9197c5fb7af1b4f7e4780ef77 /drivers/mmc/core/sdio_irq.c
parentbfe9c8ae114009491f51452ec727667d516ee79f (diff)
parentf0e15e2b0c6b3e89daade25a1e9a2d80136c14c3 (diff)
downloadlinux-ffd76d8be36da09f8456c55569c008f5aa93095e.tar.bz2
Merge branch 'for_3.4/dts_updates' of git://git.kernel.org/pub/scm/linux/kernel/git/bcousson/linux-omap-dt into dt
Diffstat (limited to 'drivers/mmc/core/sdio_irq.c')
-rw-r--r--drivers/mmc/core/sdio_irq.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/drivers/mmc/core/sdio_irq.c b/drivers/mmc/core/sdio_irq.c
index 68f81b9ee0fb..f573e7f9f740 100644
--- a/drivers/mmc/core/sdio_irq.c
+++ b/drivers/mmc/core/sdio_irq.c
@@ -146,15 +146,21 @@ static int sdio_irq_thread(void *_host)
}
set_current_state(TASK_INTERRUPTIBLE);
- if (host->caps & MMC_CAP_SDIO_IRQ)
+ if (host->caps & MMC_CAP_SDIO_IRQ) {
+ mmc_host_clk_hold(host);
host->ops->enable_sdio_irq(host, 1);
+ mmc_host_clk_release(host);
+ }
if (!kthread_should_stop())
schedule_timeout(period);
set_current_state(TASK_RUNNING);
} while (!kthread_should_stop());
- if (host->caps & MMC_CAP_SDIO_IRQ)
+ if (host->caps & MMC_CAP_SDIO_IRQ) {
+ mmc_host_clk_hold(host);
host->ops->enable_sdio_irq(host, 0);
+ mmc_host_clk_release(host);
+ }
pr_debug("%s: IRQ thread exiting with code %d\n",
mmc_hostname(host), ret);