From: jjian zhou Date: Mon, 17 Jun 2019 11:04:08 +0000 (+0800) Subject: mmc: mediatek: fix SDIO IRQ detection issue X-Git-Tag: v5.2-rc6~23^2~7 X-Git-Url: https://git.kernel.dk/?a=commitdiff_plain;h=20314ce30af197963b0c239f0952db6aaef73f99;p=linux-block.git mmc: mediatek: fix SDIO IRQ detection issue 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 Signed-off-by: Chaotian Jing Signed-off-by: Yong Mao Fixes: 5215b2e952f3 ("mmc: mediatek: Add MMC_CAP_SDIO_IRQ support") Cc: stable@vger.kernel.org Signed-off-by: Ulf Hansson --- diff --git a/drivers/mmc/host/mtk-sd.c b/drivers/mmc/host/mtk-sd.c index 34860f213adb..33f4b6387ef7 100644 --- a/drivers/mmc/host/mtk-sd.c +++ b/drivers/mmc/host/mtk-sd.c @@ -1023,6 +1023,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); }