]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
mmc: tegra: properly disable card clock
authorLucas Stach <dev@lynxeye.de>
Mon, 29 Feb 2016 20:56:24 +0000 (21:56 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 12 Apr 2016 14:33:45 +0000 (07:33 -0700)
commit 3491b69045b1926a198ba70dc1296ca253f2fbdd upstream.

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>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/mmc/host/sdhci-tegra.c

index 212d51f089397ffb39df07ba49956879f1005a4d..0004721cd2135f272e3f736f76a6816c9b524683 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);