diff options
| author | Sahitya Tummala <stummala@codeaurora.org> | 2016-04-27 16:17:44 +0530 |
|---|---|---|
| committer | Kyle Yan <kyan@codeaurora.org> | 2016-06-13 19:06:28 -0700 |
| commit | 1eccf8da488efcfc5bc3c3e97bb37de007ffb25c (patch) | |
| tree | a957fa1906b47028f384439cbb3b312e255688d7 | |
| parent | 31c3678a627a612ab863fde1108fd8bc3d16faa8 (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.c | 8 |
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); |
