diff options
author | jjian zhou <jjian.zhou@mediatek.com> | 2019-06-17 13:04:08 +0200 |
---|---|---|
committer | Ulf Hansson <ulf.hansson@linaro.org> | 2019-06-17 13:26:50 +0200 |
commit | 20314ce30af197963b0c239f0952db6aaef73f99 (patch) | |
tree | 19bfa14c8836dd2bfccd2d5d5cd188f5f3662927 /drivers/mmc/host/mtk-sd.c | |
parent | mmc: mediatek: fix SDIO IRQ interrupt handle flow (diff) | |
download | linux-20314ce30af197963b0c239f0952db6aaef73f99.tar.xz linux-20314ce30af197963b0c239f0952db6aaef73f99.zip |
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 <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>
Diffstat (limited to 'drivers/mmc/host/mtk-sd.c')
-rw-r--r-- | drivers/mmc/host/mtk-sd.c | 2 |
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); } |