summaryrefslogtreecommitdiff
path: root/drivers/mmc/host/sdhci.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/mmc/host/sdhci.c')
-rwxr-xr-xdrivers/mmc/host/sdhci.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c
index 9e78f0a5064b..7b8ad2706d22 100755
--- a/drivers/mmc/host/sdhci.c
+++ b/drivers/mmc/host/sdhci.c
@@ -2287,6 +2287,8 @@ int sdhci_suspend_host(struct sdhci_host *host, pm_message_t state)
{
int ret;
+ mmc_claim_host(host->mmc);
+
sdhci_enable_clk(host);
sdhci_disable_card_detection(host);
@@ -2325,7 +2327,7 @@ int sdhci_resume_host(struct sdhci_host *host)
if (host->vmmc) {
int ret = regulator_enable(host->vmmc);
if (ret)
- return ret;
+ goto out;
}
sdhci_enable_clk(host);
@@ -2357,6 +2359,7 @@ out:
(host->tuning_mode == SDHCI_TUNING_MODE_1))
host->flags |= SDHCI_NEEDS_RETUNING;
+ mmc_release_host(host->mmc);
return ret;
}