From f48bc0a3861ff3a622e5b75828ca497e822ed9b0 Mon Sep 17 00:00:00 2001 From: Shaik Sajida Bhanu Date: Fri, 23 Oct 2020 00:17:23 +0530 Subject: [PATCH] mmc: core: Enable force hw reset During error recovery set need hw reset to handle ICE error where cqe reset is must. Change-Id: I198cc06c18910c48b85a5298aebb9024b94d2470 Signed-off-by: Shaik Sajida Bhanu --- drivers/mmc/core/block.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/drivers/mmc/core/block.c b/drivers/mmc/core/block.c index da185cbdfc36..f98e2d7bd923 100644 --- a/drivers/mmc/core/block.c +++ b/drivers/mmc/core/block.c @@ -1488,8 +1488,16 @@ void mmc_blk_cqe_recovery(struct mmc_queue *mq) pr_debug("%s: CQE recovery start\n", mmc_hostname(host)); err = mmc_cqe_recovery(host); +#if defined(CONFIG_SDC_QTI) + if (err || host->need_hw_reset) { + mmc_blk_reset(mq->blkdata, host, MMC_BLK_CQE_RECOVERY); + if (host->need_hw_reset) + host->need_hw_reset = false; + } +#else if (err) mmc_blk_reset(mq->blkdata, host, MMC_BLK_CQE_RECOVERY); +#endif mmc_blk_reset_success(mq->blkdata, MMC_BLK_CQE_RECOVERY); pr_debug("%s: CQE recovery done\n", mmc_hostname(host));