From: jjian zhou <jjian.z...@mediatek.com>

If cmd19 timeout or response crcerr occurs during execute_tuning(),
it need invoke msdc_reset_hw(). Otherwise SDIO IRQ can't be detected.

Signed-off-by: jjian zhou <jjian.z...@mediatek.com>
Signed-off-by: Chaotian Jing <chaotian.j...@mediatek.com>
Signed-off-by: Yong Mao <yong....@mediatek.com>
---
 drivers/mmc/host/mtk-sd.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/mmc/host/mtk-sd.c b/drivers/mmc/host/mtk-sd.c
index 29992ae..df8f09d 100644
--- a/drivers/mmc/host/mtk-sd.c
+++ b/drivers/mmc/host/mtk-sd.c
@@ -1031,6 +1031,8 @@ static void msdc_request_done(struct msdc_host *host, 
struct mmc_request *mrq)
        msdc_track_cmd_data(host, mrq->cmd, mrq->data);
        if (mrq->data)
                msdc_unprepare_data(host, mrq);
+       if (host->error)
+               msdc_reset_hw(host);
        mmc_request_done(host->mmc, mrq);
 }

--
1.9.1

Reply via email to