mmc: tegra: properly disable card clock
authorLucas Stach <dev@lynxeye.de>
Mon, 29 Feb 2016 20:56:24 +0000 (21:56 +0100)
committerUlf Hansson <ulf.hansson@linaro.org>
Thu, 17 Mar 2016 13:54:10 +0000 (14:54 +0100)
The new code to do the clock rate setting externally to the SDMMC
module has a shortcut to not propagate changes with a 0 rate to
the CAR by simply bailing out. This breaks proper cutting of the
card clock. Fix it by directly calling the correct sdhci function.

Fixes: a8e326a911d3 "mmc: tegra: implement module external clock change"
Signed-off-by: Lucas Stach <dev@lynxeye.de>
Acked-by: Adrian Hunter <adrian.hunter@intel.com>
Cc: stable@vger.kernel.org
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
drivers/mmc/host/sdhci-tegra.c

index 8993db376dc496b3b0edf8933994d6ce90aab37c..79c2a2b7428a841d4c9332f7da24c7631f7fda29 100644 (file)
@@ -194,7 +194,7 @@ static void tegra_sdhci_set_clock(struct sdhci_host *host, unsigned int clock)
        unsigned long host_clk;
 
        if (!clock)
-               return;
+               return sdhci_set_clock(host, clock);
 
        host_clk = tegra_host->ddr_signaling ? clock * 2 : clock;
        clk_set_rate(pltfm_host->clk, host_clk);