summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSahitya Tummala <stummala@codeaurora.org>2016-04-27 16:17:44 +0530
committerKyle Yan <kyan@codeaurora.org>2016-06-13 19:06:28 -0700
commit1eccf8da488efcfc5bc3c3e97bb37de007ffb25c (patch)
treea957fa1906b47028f384439cbb3b312e255688d7
parent31c3678a627a612ab863fde1108fd8bc3d16faa8 (diff)
mmc: core: Fix the timing related checks in partial_init
If the card (which is a eMMC 5.1 complaint card) is scaled down to HS200, then the current logic in partial_init doesn't invoke tuning due to these invalid checks. Change-Id: I1e5cbb6a2dfff129acdb27e27ea090d58197f41c Signed-off-by: Sahitya Tummala <stummala@codeaurora.org>
-rw-r--r--drivers/mmc/core/mmc.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/mmc/core/mmc.c b/drivers/mmc/core/mmc.c
index 99caaf85dd50..78dae0679645 100644
--- a/drivers/mmc/core/mmc.c
+++ b/drivers/mmc/core/mmc.c
@@ -2562,12 +2562,12 @@ static int mmc_partial_init(struct mmc_host *host)
mmc_host_clk_hold(host);
- if (mmc_card_hs200(card) || mmc_card_hs400(card)) {
+ if (mmc_card_hs400(card)) {
if (card->ext_csd.strobe_support && host->ops->enhanced_strobe)
err = host->ops->enhanced_strobe(host);
- else
- err = host->ops->execute_tuning(host,
- MMC_SEND_TUNING_BLOCK_HS200);
+ } else if (mmc_card_hs200(card) && host->ops->execute_tuning) {
+ err = host->ops->execute_tuning(host,
+ MMC_SEND_TUNING_BLOCK_HS200);
if (err)
pr_warn("%s: %s: tuning execution failed (%d)\n",
mmc_hostname(host), __func__, err);