diff options
author | Pavan Kunapuli <pkunapuli@nvidia.com> | 2011-11-18 18:01:47 +0530 |
---|---|---|
committer | Dan Willemsen <dwillemsen@nvidia.com> | 2011-11-30 21:50:14 -0800 |
commit | 8e3dbb524afe2dfa9257d2930229944dd0e7bead (patch) | |
tree | e97b3e7746973113f989489c3f19c94fb186d48d /drivers/mmc/host/sdhci.c | |
parent | 8413a501cfde39be20e5adadcb26d16b307a75df (diff) |
sdhci: Don't set SDIO card intr in resume by default
Enable SDIO card interrupt in resume only if it is
set before suspend.
Bug 902633
Change-Id: I2ade8c204ddfa97e41d5c0e5bec67d07e68f81ad
Signed-off-by: Pavan Kunapuli <pkunapuli@nvidia.com>
Reviewed-on: http://git-master/r/66099
Reviewed-by: Sachin Nikam <snikam@nvidia.com>
Rebase-Id: Rb2ba0ae696df9104840566a794780730d6da845f
Diffstat (limited to 'drivers/mmc/host/sdhci.c')
-rw-r--r-- | drivers/mmc/host/sdhci.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c index 0291ab37b4b9..05dde5f46ac0 100644 --- a/drivers/mmc/host/sdhci.c +++ b/drivers/mmc/host/sdhci.c @@ -2307,6 +2307,10 @@ int sdhci_suspend_host(struct sdhci_host *host, pm_message_t state) if (mmc->card && (mmc->card->type != MMC_TYPE_SDIO)) ret = mmc_suspend_host(host->mmc); + if (host->flags & MMC_PM_KEEP_POWER) + host->card_int_set = sdhci_readl(host, SDHCI_INT_ENABLE) & + SDHCI_INT_CARD_INT; + sdhci_mask_irqs(host, SDHCI_INT_ALL_MASK); if (host->vmmc) @@ -2350,7 +2354,8 @@ int sdhci_resume_host(struct sdhci_host *host) /* Enable card interrupt as it is overwritten in sdhci_init */ if ((mmc->caps & MMC_CAP_SDIO_IRQ) && (mmc->pm_flags & MMC_PM_KEEP_POWER)) - mmc->ops->enable_sdio_irq(mmc, true); + if (host->card_int_set) + mmc->ops->enable_sdio_irq(mmc, true); } } |