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);