aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/mmc/host/sdhci-brcmstb.c
diff options
context:
space:
mode:
authorAl Cooper <alcooperx@gmail.com>2021-01-07 17:15:09 -0500
committerUlf Hansson <ulf.hansson@linaro.org>2021-01-13 12:06:37 +0100
commit5b191dcba719319148eeecf6ed409949fac55b39 (patch)
treea2f341cad096e665b5cfba8dd27fd5104c66f189 /drivers/mmc/host/sdhci-brcmstb.c
parentmmc: sdhci-xenon: fix 1.8v regulator stabilization (diff)
downloadlinux-dev-5b191dcba719319148eeecf6ed409949fac55b39.tar.xz
linux-dev-5b191dcba719319148eeecf6ed409949fac55b39.zip
mmc: sdhci-brcmstb: Fix mmc timeout errors on S5 suspend
Commit e7b5d63a82fe ("mmc: sdhci-brcmstb: Add shutdown callback") that added a shutdown callback to the diver, is causing "mmc timeout" errors on S5 suspend. The problem was that the "remove" was queuing additional MMC commands after the "shutdown" and these caused timeouts as the MMC queues were cleaned up for "remove". The shutdown callback will be changed to calling sdhci-pltfm_suspend which should get better power savings because the clocks will be shutdown. Fixes: e7b5d63a82fe ("mmc: sdhci-brcmstb: Add shutdown callback") Signed-off-by: Al Cooper <alcooperx@gmail.com> Acked-by: Florian Fainelli <f.fainelli@gmail.com> Acked-by: Adrian Hunter <adrian.hunter@intel.com> Cc: stable@vger.kernel.org Link: https://lore.kernel.org/r/20210107221509.6597-1-alcooperx@gmail.com Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Diffstat (limited to 'drivers/mmc/host/sdhci-brcmstb.c')
-rw-r--r--drivers/mmc/host/sdhci-brcmstb.c6
1 files changed, 1 insertions, 5 deletions
diff --git a/drivers/mmc/host/sdhci-brcmstb.c b/drivers/mmc/host/sdhci-brcmstb.c
index bbf3496f4495..f9780c65ebe9 100644
--- a/drivers/mmc/host/sdhci-brcmstb.c
+++ b/drivers/mmc/host/sdhci-brcmstb.c
@@ -314,11 +314,7 @@ err_clk:
static void sdhci_brcmstb_shutdown(struct platform_device *pdev)
{
- int ret;
-
- ret = sdhci_pltfm_unregister(pdev);
- if (ret)
- dev_err(&pdev->dev, "failed to shutdown\n");
+ sdhci_pltfm_suspend(&pdev->dev);
}
MODULE_DEVICE_TABLE(of, sdhci_brcm_of_match);