diff options
author | Paul Mundt <lethal@linux-sh.org> | 2012-02-24 13:23:23 +0900 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2012-02-24 13:23:23 +0900 |
commit | 35eb304b5cd7b49d581bda79218b8134f3b689ea (patch) | |
tree | 3d75d9ada70814161d035b2f9166fee05d257dfb /drivers/mmc/core/sdio_irq.c | |
parent | ca0cc30109241f280eb871794620d7cf198bb582 (diff) | |
parent | bb4c7e9a9908548b458f34afb2fee74dc0d49f90 (diff) |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux into rmobile-fixes-for-linus
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); |