From 53ed8685f688c039308107b089b58ae39d11aac8 Mon Sep 17 00:00:00 2001 From: Sahitya Tummala Date: Tue, 26 Apr 2016 16:31:03 +0530 Subject: [PATCH] mmc: sdhci: Handle legacy commands sent in CQ error cases properly There could be cases where CQE halt might fail and in which case, CQE gets disabled as part of error handling. In this case, !mmc_host_halt() will be true and the commands sent in legacy mode are getting software request timeout errors as they are getting handled as cmdq irq. Hence, add !mmc_host_cq_disable() check as well in addition to !mmc_host_halt() in sdhci_irq() before considering it as a cmdq irq. Change-Id: Ic529aae53fdecd6b9ecbb17ba13147964dce55dc Signed-off-by: Sahitya Tummala Signed-off-by: Sayali Lokhande --- drivers/mmc/host/sdhci.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c index 0542ba51445f..886229317fea 100644 --- a/drivers/mmc/host/sdhci.c +++ b/drivers/mmc/host/sdhci.c @@ -3157,7 +3157,7 @@ static irqreturn_t sdhci_irq(int irq, void *dev_id) do { if (host->mmc->card && mmc_card_cmdq(host->mmc->card) && - !mmc_host_halt(host->mmc)) { + !mmc_host_halt(host->mmc) && !mmc_host_cq_disable(host->mmc)) { pr_debug("*** %s: cmdq intr: 0x%08x\n", mmc_hostname(host->mmc), intmask); -- 2.11.0