mmc: sdhci-pxav3: fix pm unbalanced issue in -> remove()
authorJisheng Zhang <jszhang@marvell.com>
Sun, 4 Jan 2015 15:15:48 +0000 (23:15 +0800)
committerUlf Hansson <ulf.hansson@linaro.org>
Mon, 19 Jan 2015 08:56:32 +0000 (09:56 +0100)
This patch calls pm_runtime_put_noidle() to restore the device's usage
counter in the ->remove() implementation.

Signed-off-by: Jisheng Zhang <jszhang@marvell.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
drivers/mmc/host/sdhci-pxav3.c

index 1255dd2b91c13af098e24725c8c39837dab413c4..4de39fb6dc2df0d74d78e035b3c7c80615abf1ca 100644 (file)
@@ -412,8 +412,10 @@ static int sdhci_pxav3_remove(struct platform_device *pdev)
        struct sdhci_pxa *pxa = pltfm_host->priv;
 
        pm_runtime_get_sync(&pdev->dev);
-       sdhci_remove_host(host, 1);
        pm_runtime_disable(&pdev->dev);
+       pm_runtime_put_noidle(&pdev->dev);
+
+       sdhci_remove_host(host, 1);
 
        clk_disable_unprepare(pxa->clk_io);
        if (!IS_ERR(pxa->clk_core))