summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorBaolin Wang <baolin.wang@linaro.org>2019-07-15 18:00:14 +0800
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2019-08-06 19:08:15 +0200
commit632def0075be32563ac3a699606e4587f30b1d49 (patch)
treecb207f8d39267c60ee278d5fc209a7bd24cdf9e1 /drivers
parent72df8803c3ae25114b7e82b4af725b0dbf1447f2 (diff)
mmc: host: sdhci-sprd: Fix the missing pm_runtime_put_noidle()
commit fc62113b32c95906b3ea8ba42e91014c7d0c6fa6 upstream. When the SD host controller tries to probe again due to the derferred probe mechanism, it will always keep the SD host device as runtime resume state due to missing the runtime put operation in error path last time. Thus add the pm_runtime_put_noidle() in error path to make the PM runtime counter balance, which can make the SD host device's PM runtime work well. Signed-off-by: Baolin Wang <baolin.wang@linaro.org> Acked-by: Adrian Hunter <adrian.hunter@intel.com> Fixes: fb8bd90f83c4 ("mmc: sdhci-sprd: Add Spreadtrum's initial host controller") Cc: stable@vger.kernel.org Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/mmc/host/sdhci-sprd.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/mmc/host/sdhci-sprd.c b/drivers/mmc/host/sdhci-sprd.c
index 9a822e2e9f0b..06f84a4d79e0 100644
--- a/drivers/mmc/host/sdhci-sprd.c
+++ b/drivers/mmc/host/sdhci-sprd.c
@@ -405,6 +405,7 @@ err_cleanup_host:
sdhci_cleanup_host(host);
pm_runtime_disable:
+ pm_runtime_put_noidle(&pdev->dev);
pm_runtime_disable(&pdev->dev);
pm_runtime_set_suspended(&pdev->dev);