From 5ef6efa7e56bdd34cd5d0a2288710bdc5288e13a Mon Sep 17 00:00:00 2001 From: Shawn Lin Date: Fri, 11 Oct 2024 10:05:10 +0800 Subject: [PATCH] mmc: sdhci-of-dwcmshc: Fix unblanced runtime calls echo 2a330000.mmc > /sys/bus/platform/drivers/sdhci-dwcmshc/unbind echo 2a330000.mmc > /sys/bus/platform/drivers/sdhci-dwcmshc/bind [ 386.150651] mmc2: CQHCI version 5.10 [ 386.183313] mmc2: SDHCI controller on 2a330000.mmc [2a330000.mmc] using ADMA 64-bit [ 386.183385] sdhci-dwcmshc 2a330000.mmc: Unbalanced pm_runtime_enable! Change-Id: I8926029274656f5f9820658325edec0449c8ac5f Signed-off-by: Shawn Lin --- drivers/mmc/host/sdhci-of-dwcmshc.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/drivers/mmc/host/sdhci-of-dwcmshc.c b/drivers/mmc/host/sdhci-of-dwcmshc.c index 674c291d28fa..5e55b6439c71 100644 --- a/drivers/mmc/host/sdhci-of-dwcmshc.c +++ b/drivers/mmc/host/sdhci-of-dwcmshc.c @@ -983,6 +983,13 @@ static int dwcmshc_remove(struct platform_device *pdev) struct dwcmshc_priv *priv = sdhci_pltfm_priv(pltfm_host); struct rk35xx_priv *rk_priv = priv->priv; + if (rk_priv && !rk_priv->acpi_en) { + pm_runtime_get_sync(&pdev->dev); + pm_runtime_disable(&pdev->dev); + pm_runtime_put_noidle(&pdev->dev); + pm_runtime_dont_use_autosuspend(&pdev->dev); + } + sdhci_remove_host(host, 0); clk_disable_unprepare(pltfm_host->clk);