Skip to content

Commit a051246

Browse files
ahunter6Ulf Hansson
authored andcommitted
mmc: block: Fix CQE recovery reset success
The intention of the use of mmc_blk_reset_success() in mmc_blk_cqe_recovery() was to prevent repeated resets when retrying and getting the same error. However, that may not be the case - any amount of time and I/O may pass before another recovery is needed, in which case there would be no reason to deny it the opportunity to recover via a reset if necessary. CQE recovery is expected seldom and failure to recover (if the clear tasks command fails), even more seldom, so it is better to allow the reset always, which can be done by calling mmc_blk_reset_success() always. Fixes: 1e8e55b ("mmc: block: Add CQE support") Cc: stable@vger.kernel.org Signed-off-by: Adrian Hunter <adrian.hunter@intel.com> Link: https://lore.kernel.org/r/20220531171922.76080-1-adrian.hunter@intel.com Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
1 parent 291e7d5 commit a051246

1 file changed

Lines changed: 1 addition & 2 deletions

File tree

drivers/mmc/core/block.c

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1499,8 +1499,7 @@ void mmc_blk_cqe_recovery(struct mmc_queue *mq)
14991499
err = mmc_cqe_recovery(host);
15001500
if (err)
15011501
mmc_blk_reset(mq->blkdata, host, MMC_BLK_CQE_RECOVERY);
1502-
else
1503-
mmc_blk_reset_success(mq->blkdata, MMC_BLK_CQE_RECOVERY);
1502+
mmc_blk_reset_success(mq->blkdata, MMC_BLK_CQE_RECOVERY);
15041503

15051504
pr_debug("%s: CQE recovery done\n", mmc_hostname(host));
15061505
}

0 commit comments

Comments
 (0)