diff options
author | Mayuresh Kulkarni <mkulkarni@nvidia.com> | 2011-12-20 16:46:48 +0530 |
---|---|---|
committer | Varun Wadekar <vwadekar@nvidia.com> | 2011-12-21 01:27:35 -0800 |
commit | fd804ee58d3f9ce10cb2fe16aa76ae0407912d32 (patch) | |
tree | 286a629255393d395b6d3723a556ae9f57a30507 /drivers/mmc/card/block.c | |
parent | 580b837ae37abf702f9e30e5e8a2817c4449e6a1 (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/card/block.c')
-rw-r--r-- | drivers/mmc/card/block.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/mmc/card/block.c b/drivers/mmc/card/block.c index 63bd30bdb439..5367900dd80e 100644 --- a/drivers/mmc/card/block.c +++ b/drivers/mmc/card/block.c @@ -59,6 +59,8 @@ MODULE_ALIAS("mmc:block"); #define INAND_CMD38_ARG_SECTRIM1 0x81 #define INAND_CMD38_ARG_SECTRIM2 0x88 +#define MMC_CMD_RETRIES 3 + static DEFINE_MUTEX(block_mutex); /* @@ -943,6 +945,7 @@ static void mmc_blk_rw_rq_prep(struct mmc_queue_req *mqrq, if (!mmc_card_blockaddr(card)) brq->cmd.arg <<= 9; brq->cmd.flags = MMC_RSP_SPI_R1 | MMC_RSP_R1 | MMC_CMD_ADTC; + brq->cmd.retries = MMC_CMD_RETRIES; brq->data.blksz = 512; brq->stop.opcode = MMC_STOP_TRANSMISSION; brq->stop.arg = 0; |