diff options
Diffstat (limited to 'drivers/mmc/core/core.c')
-rw-r--r-- | drivers/mmc/core/core.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/drivers/mmc/core/core.c b/drivers/mmc/core/core.c index 605f5e8648c1..240c5af793dc 100644 --- a/drivers/mmc/core/core.c +++ b/drivers/mmc/core/core.c @@ -936,15 +936,16 @@ int mmc_execute_tuning(struct mmc_card *card) opcode = MMC_SEND_TUNING_BLOCK; err = host->ops->execute_tuning(host, opcode); + if (!err) { + mmc_retune_clear(host); + mmc_retune_enable(host); + return 0; + } - if (err) { + /* Only print error when we don't check for card removal */ + if (!host->detect_change) pr_err("%s: tuning execution failed: %d\n", mmc_hostname(host), err); - } else { - host->retune_now = 0; - host->need_retune = 0; - mmc_retune_enable(host); - } return err; } |