]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
mmc: mediatek: fix SDIO IRQ detection issue
authorjjian zhou <jjian.zhou@mediatek.com>
Mon, 17 Jun 2019 11:04:08 +0000 (19:04 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 25 Jun 2019 03:34:44 +0000 (11:34 +0800)
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

index 336935a334ef6682007acbf7409bb01450cd40e6..b33f2c90d8d86e7322665b6090cb4cc011d8cbae 100644 (file)
@@ -1003,6 +1003,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);
 }