From: jjian zhou jjian.zhou@mediatek.com
commit 20314ce30af197963b0c239f0952db6aaef73f99 upstream.
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.zhou@mediatek.com Signed-off-by: Chaotian Jing chaotian.jing@mediatek.com Signed-off-by: Yong Mao yong.mao@mediatek.com Fixes: 5215b2e952f3 ("mmc: mediatek: Add MMC_CAP_SDIO_IRQ support") Cc: stable@vger.kernel.org Signed-off-by: Ulf Hansson ulf.hansson@linaro.org Signed-off-by: Greg Kroah-Hartman gregkh@linuxfoundation.org
--- drivers/mmc/host/mtk-sd.c | 2 ++ 1 file changed, 2 insertions(+)
--- a/drivers/mmc/host/mtk-sd.c +++ b/drivers/mmc/host/mtk-sd.c @@ -1003,6 +1003,8 @@ static void msdc_request_done(struct msd 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); }