diff options
author | Edward Wang <wangedward@google.com> | 2018-10-03 18:00:31 -0700 |
---|---|---|
committer | Edward Wang <wangedward@google.com> | 2018-10-11 16:03:16 +0000 |
commit | 467e4e08c45ef225c0d4f842f00ab5a44e9d6fe5 (patch) | |
tree | 7924fe1221b9ba6fd785a1c15f78eb6df8556a43 | |
parent | ed456ccf063abfc744f0c5a5e7c258f41621bbca (diff) | |
download | qcom-msm-v4.9-467e4e08c45ef225c0d4f842f00ab5a44e9d6fe5.tar.gz |
mmc: try low speed fallback only for sd card
In _mmc_detect_card_removed() when alive check shows removed card,
it want to give 2nd chance to fallback to low speed to see if it can
become live again. But mmc_recovery_fallback_lower_speed() only apply
to sd card. In case of sdio card, mmc_recovery_fallback_lower_speed()
simply return 0, which will overwrite the previous checked alive state.
Check card type before call mmc_recovery_fallback_lower_speed function.
Change-Id: If2aab96d13c6db1cfc02dfef1f40fcf6c1dec1d8
Signed-off-by: Edward Wang <wangedward@google.com>
-rw-r--r-- | drivers/mmc/core/core.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/mmc/core/core.c b/drivers/mmc/core/core.c index 69465f8a58f3..b70b79cb7f7d 100644 --- a/drivers/mmc/core/core.c +++ b/drivers/mmc/core/core.c @@ -4393,7 +4393,8 @@ int _mmc_detect_card_removed(struct mmc_host *host) } if (ret) { - if (host->ops->get_cd && host->ops->get_cd(host)) { + if (mmc_card_sd(host->card) && + host->ops->get_cd && host->ops->get_cd(host)) { ret = mmc_recovery_fallback_lower_speed(host); } else { mmc_card_set_removed(host->card); |