diff options
author | Tony Lindgren <tony@atomide.com> | 2012-02-24 16:48:27 -0800 |
---|---|---|
committer | Tony Lindgren <tony@atomide.com> | 2012-02-24 16:48:27 -0800 |
commit | ffd76d8be36da09f8456c55569c008f5aa93095e (patch) | |
tree | 4a5e537edcdd3be9197c5fb7af1b4f7e4780ef77 /drivers/mmc/core/sdio_irq.c | |
parent | bfe9c8ae114009491f51452ec727667d516ee79f (diff) | |
parent | f0e15e2b0c6b3e89daade25a1e9a2d80136c14c3 (diff) | |
download | linux-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.c | 10 |
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); |