From: Jerry Huang <Chang-Ming.Huang@xxxxxxxxxxxxx> When f_init is zero, the SDHC can't work correctly. So f_min will replace f_init, when f_init is zero. Signed-off-by: Jerry Huang <Chang-Ming.Huang@xxxxxxxxxxxxx> CC: Anton Vorontsov <cbouatmailru@xxxxxxxxx> CC: Chris Ball <cjb@xxxxxxxxxx> --- changes for v2: - add the CC changes for v3: - enalbe the controller clock in platform, instead of core drivers/mmc/core/core.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/mmc/core/core.c b/drivers/mmc/core/core.c index 06c42cf..9c162cd 100644 --- a/drivers/mmc/core/core.c +++ b/drivers/mmc/core/core.c @@ -1319,7 +1319,10 @@ static void mmc_power_up(struct mmc_host *host) */ mmc_delay(10); - host->ios.clock = host->f_init; + if (host->f_init) + host->ios.clock = host->f_init; + else + host->ios.clock = host->f_min; host->ios.power_mode = MMC_POWER_ON; mmc_set_ios(host); -- 1.7.9.5 -- To unsubscribe from this list: send the line "unsubscribe linux-mmc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html