From b8be10334c1dfb5a0048afeda77cb553b585556e Mon Sep 17 00:00:00 2001 From: Venkat Gopalakrishnan Date: Mon, 2 Mar 2015 13:22:40 -0800 Subject: [PATCH] mmc: sdhci: Fix setting clock for HS400 The platform specific set_clock must be called even if the clock rates are same but the timing modes are different as there may be some platform specific handling required for different timing modes. Change-Id: Ia7102b29a8979ad88820c60ed5874d4b2dab71a0 Signed-off-by: Venkat Gopalakrishnan --- drivers/mmc/host/sdhci.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c index 818758b0d89f..995e3ca6890f 100644 --- a/drivers/mmc/host/sdhci.c +++ b/drivers/mmc/host/sdhci.c @@ -1720,7 +1720,8 @@ static void sdhci_do_set_ios(struct sdhci_host *host, struct mmc_ios *ios) sdhci_enable_preset_value(host, false); spin_lock_irqsave(&host->lock, flags); - if (ios->clock && ios->clock != host->clock) { + if (ios->clock && + ((ios->clock != host->clock) || (ios->timing != host->timing))) { spin_unlock_irqrestore(&host->lock, flags); host->ops->set_clock(host, ios->clock); spin_lock_irqsave(&host->lock, flags);