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>
This commit is contained in:
Sahitya Tummala 2016-04-27 16:17:44 +05:30 committed by Kyle Yan
parent 31c3678a62
commit 1eccf8da48

View file

@ -2562,12 +2562,12 @@ static int mmc_partial_init(struct mmc_host *host)
mmc_host_clk_hold(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) if (card->ext_csd.strobe_support && host->ops->enhanced_strobe)
err = host->ops->enhanced_strobe(host); err = host->ops->enhanced_strobe(host);
else } else if (mmc_card_hs200(card) && host->ops->execute_tuning) {
err = host->ops->execute_tuning(host, err = host->ops->execute_tuning(host,
MMC_SEND_TUNING_BLOCK_HS200); MMC_SEND_TUNING_BLOCK_HS200);
if (err) if (err)
pr_warn("%s: %s: tuning execution failed (%d)\n", pr_warn("%s: %s: tuning execution failed (%d)\n",
mmc_hostname(host), __func__, err); mmc_hostname(host), __func__, err);