aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjjian zhou <[email protected]>2019-06-17 19:04:08 +0800
committerUlf Hansson <[email protected]>2019-06-17 13:26:50 +0200
commit20314ce30af197963b0c239f0952db6aaef73f99 (patch)
tree19bfa14c8836dd2bfccd2d5d5cd188f5f3662927
parent8a5df8ac628f4febea1e6cd3044bff2d536dd096 (diff)
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 <[email protected]> Signed-off-by: Chaotian Jing <[email protected]> Signed-off-by: Yong Mao <[email protected]> Fixes: 5215b2e952f3 ("mmc: mediatek: Add MMC_CAP_SDIO_IRQ support") Cc: [email protected] Signed-off-by: Ulf Hansson <[email protected]>
-rw-r--r--drivers/mmc/host/mtk-sd.c2
1 files changed, 2 insertions, 0 deletions
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);
}