There is no place where host->clock is assgined to any value. If real clock is changed to mmc->clock, host->clock can be assigned to mmc->clock. If card request to same clock value, it doesn't need to call sdhci_set_clock() function.
Signed-off-by: Jaehoon Chung <jh80.ch...@samsung.com> --- drivers/mmc/sdhci.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/mmc/sdhci.c b/drivers/mmc/sdhci.c index d89e302..3f87a23 100644 --- a/drivers/mmc/sdhci.c +++ b/drivers/mmc/sdhci.c @@ -380,8 +380,10 @@ static void sdhci_set_ios(struct mmc *mmc) if (host->set_control_reg) host->set_control_reg(host); - if (mmc->clock != host->clock) - sdhci_set_clock(mmc, mmc->clock); + if (mmc->clock != host->clock) { + if (!sdhci_set_clock(mmc, mmc->clock)) + host->clock = mmc->clock; + } /* Set bus width */ ctrl = sdhci_readb(host, SDHCI_HOST_CONTROL); -- 1.9.1 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot