summaryrefslogtreecommitdiff
path: root/drivers/mmc/core
diff options
context:
space:
mode:
authorMayuresh Kulkarni <mkulkarni@nvidia.com>2011-12-20 16:46:48 +0530
committerVarun Wadekar <vwadekar@nvidia.com>2011-12-21 01:27:35 -0800
commitfd804ee58d3f9ce10cb2fe16aa76ae0407912d32 (patch)
tree286a629255393d395b6d3723a556ae9f57a30507 /drivers/mmc/core
parent580b837ae37abf702f9e30e5e8a2817c4449e6a1 (diff)
mmc: core: Retry if data commands fail with error
If the data commands fail due to some error, retry the transfer. Add 3 retries for data commands. for bug 914934 Change-Id: I53245ddd159abdbade09f841d9490d2f106e7c88 Signed-off-by: Mayuresh Kulkarni <mkulkarni@nvidia.com> Signed-off-by: Pavan Kunapuli <pkunapuli@nvidia.com> Reviewed-on: http://git-master/r/71181 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Sachin Nikam <snikam@nvidia.com> Reviewed-by: Varun Wadekar <vwadekar@nvidia.com>
Diffstat (limited to 'drivers/mmc/core')
-rw-r--r--drivers/mmc/core/core.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/mmc/core/core.c b/drivers/mmc/core/core.c
index 279b8769ffb8..344d2414f05c 100644
--- a/drivers/mmc/core/core.c
+++ b/drivers/mmc/core/core.c
@@ -108,6 +108,11 @@ void mmc_request_done(struct mmc_host *host, struct mmc_request *mrq)
cmd->retries--;
cmd->error = 0;
+ if (mrq->data) {
+ mrq->data->error = 0;
+ if (mrq->stop)
+ mrq->stop->error = 0;
+ }
host->ops->request(host, mrq);
} else {
led_trigger_event(host->led, LED_OFF);