From 1eccf8da488efcfc5bc3c3e97bb37de007ffb25c Mon Sep 17 00:00:00 2001 From: Sahitya Tummala Date: Wed, 27 Apr 2016 16:17:44 +0530 Subject: [PATCH] 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 --- drivers/mmc/core/mmc.c | 8 ++++---- 1 file 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);