From: Jaehoon Chung Date: Fri, 2 Aug 2013 14:08:58 +0000 (+0900) Subject: mmc: sdhci-s3c: fix the wrong register value, when clock is disabled X-Git-Tag: firefly_0821_release~176^2~5357^2~3 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=7ef2a5e2f72325fd83c6e1ab76b139ca31c7f8ed;p=firefly-linux-kernel-4.4.55.git mmc: sdhci-s3c: fix the wrong register value, when clock is disabled When use the QUIRK_NONSTANDARD_CLOCK, then never set to 0 at clock control register. This patch fixes this problem. Signed-off-by: Jaehoon Chung Signed-off-by: Kyungmin Park Signed-off-by: Chris Ball --- diff --git a/drivers/mmc/host/sdhci-s3c.c b/drivers/mmc/host/sdhci-s3c.c index 926aaf6acc67..1572b6a935b9 100644 --- a/drivers/mmc/host/sdhci-s3c.c +++ b/drivers/mmc/host/sdhci-s3c.c @@ -296,9 +296,12 @@ static void sdhci_cmu_set_clock(struct sdhci_host *host, unsigned int clock) unsigned long timeout; u16 clk = 0; - /* don't bother if the clock is going off */ - if (clock == 0) + /* If the clock is going off, set to 0 at clock control register */ + if (clock == 0) { + sdhci_writew(host, 0, SDHCI_CLOCK_CONTROL); + host->clock = clock; return; + } sdhci_s3c_set_clock(host, clock);