summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdrian Hunter <adrian.hunter@intel.com>2015-05-07 13:10:23 +0300
committerUlf Hansson <ulf.hansson@linaro.org>2015-06-01 10:06:58 +0300
commit6f398ad2075d9af4158d37442e9ca22e528f06c1 (patch)
tree390f3f41aafeb5c5879ca1050ab05dd9a6b559f0
parentbd11e8bd03cae9e0499c34f67c55408566f6a089 (diff)
downloadlinux-6f398ad2075d9af4158d37442e9ca22e528f06c1.tar.xz
mmc: block: Check re-tuning in the recovery path
If re-tuning is needed, do it in the recovery path to give recovery commands a better chance of success. Signed-off-by: Adrian Hunter <adrian.hunter@intel.com> Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
-rw-r--r--drivers/mmc/card/block.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/mmc/card/block.c b/drivers/mmc/card/block.c
index 60f7141a6b02..5af52fd9e37a 100644
--- a/drivers/mmc/card/block.c
+++ b/drivers/mmc/card/block.c
@@ -913,6 +913,9 @@ static int mmc_blk_cmd_recovery(struct mmc_card *card, struct request *req,
if (!err)
break;
+ /* Re-tune if needed */
+ mmc_retune_recheck(card->host);
+
prev_cmd_status_valid = false;
pr_err("%s: error %d sending status command, %sing\n",
req->rq_disk->disk_name, err, retry ? "retry" : "abort");