Browse Source

mmc: sdhci-esdhc-imx: fix runtime pm unbalance issue

Since we're using common esdhc_send_command for tuning commands and
the core code will call pm_runtime_put after command is finished.
So we add a pm_runtime_get_sync here to get the balance.

Signed-off-by: Dong Aisheng <b29396@freescale.com>
Acked-by: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Chris Ball <cjb@laptop.org>
Dong Aisheng 11 years ago
parent
commit
ce090a4eb9
1 changed files with 1 additions and 0 deletions
  1. 1 0
      drivers/mmc/host/sdhci-esdhc-imx.c

+ 1 - 0
drivers/mmc/host/sdhci-esdhc-imx.c

@@ -698,6 +698,7 @@ static void esdhc_prepare_tuning(struct sdhci_host *host, u32 val)
 	/* FIXME: delay a bit for card to be ready for next tuning due to errors */
 	/* FIXME: delay a bit for card to be ready for next tuning due to errors */
 	mdelay(1);
 	mdelay(1);
 
 
+	pm_runtime_get_sync(host->mmc->parent);
 	reg = readl(host->ioaddr + ESDHC_MIX_CTRL);
 	reg = readl(host->ioaddr + ESDHC_MIX_CTRL);
 	reg |= ESDHC_MIX_CTRL_EXE_TUNE | ESDHC_MIX_CTRL_SMPCLK_SEL |
 	reg |= ESDHC_MIX_CTRL_EXE_TUNE | ESDHC_MIX_CTRL_SMPCLK_SEL |
 			ESDHC_MIX_CTRL_FBCLK_SEL;
 			ESDHC_MIX_CTRL_FBCLK_SEL;