mmc: sdhci-esdhc-imx: fix runtime pm unbalance issue
authorDong Aisheng <b29396@freescale.com>
Mon, 4 Nov 2013 08:38:28 +0000 (16:38 +0800)
committerChris Ball <chris@printf.net>
Mon, 13 Jan 2014 17:48:09 +0000 (12:48 -0500)
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>
drivers/mmc/host/sdhci-esdhc-imx.c

index b1544a786eb64a0a6d71c303a57834b14aa4394b..0ac4370cd98029c9672c0875496ff6fefaa89254 100644 (file)
@@ -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 */
        mdelay(1);
 
+       pm_runtime_get_sync(host->mmc->parent);
        reg = readl(host->ioaddr + ESDHC_MIX_CTRL);
        reg |= ESDHC_MIX_CTRL_EXE_TUNE | ESDHC_MIX_CTRL_SMPCLK_SEL |
                        ESDHC_MIX_CTRL_FBCLK_SEL;