From 4cc59dffa9cb579613776cad5b777236210496d8 Mon Sep 17 00:00:00 2001 From: Hu Ziji Date: Fri, 28 Apr 2017 10:34:59 +0800 Subject: [PATCH] mmc: sdhci-xenon: Fix the work flow in xenon_remove(). sdhci_remove_host() might execute SOFT_RESET_ALL. Inside xenon_remove(), Xenon SDHC should be enabled during sdhci_remove_host(). Move xenon_sdhc_unprepare after sdhci_remove_host() such that Xenon SDHC is disabled after sdhci_remove_host() completes. Signed-off-by: Hu Ziji Reported-by: Jisheng Zhang Tested-by: Jisheng Zhang Acked-by: Adrian Hunter Signed-off-by: Ulf Hansson --- drivers/mmc/host/sdhci-xenon.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/mmc/host/sdhci-xenon.c b/drivers/mmc/host/sdhci-xenon.c index 8e56b9ccfb39..67246655315b 100644 --- a/drivers/mmc/host/sdhci-xenon.c +++ b/drivers/mmc/host/sdhci-xenon.c @@ -512,10 +512,10 @@ static int xenon_remove(struct platform_device *pdev) xenon_clean_phy(host); - xenon_sdhc_unprepare(host); - sdhci_remove_host(host, 0); + xenon_sdhc_unprepare(host); + clk_disable_unprepare(pltfm_host->clk); sdhci_pltfm_free(pdev);