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 <jh80.chung@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Chris Ball <cjb@laptop.org>
This commit is contained in:
Jaehoon Chung 2013-08-02 23:08:58 +09:00 committed by Chris Ball
parent 490104ac59
commit 7ef2a5e2f7

View file

@ -296,9 +296,12 @@ static void sdhci_cmu_set_clock(struct sdhci_host *host, unsigned int clock)
unsigned long timeout; unsigned long timeout;
u16 clk = 0; u16 clk = 0;
/* don't bother if the clock is going off */ /* If the clock is going off, set to 0 at clock control register */
if (clock == 0) if (clock == 0) {
sdhci_writew(host, 0, SDHCI_CLOCK_CONTROL);
host->clock = clock;
return; return;
}
sdhci_s3c_set_clock(host, clock); sdhci_s3c_set_clock(host, clock);