From 1faebd285975dc75757185dd2d0e19ef4d6de629 Mon Sep 17 00:00:00 2001 From: Sarthak Garg Date: Wed, 11 Aug 2021 10:29:43 +0530 Subject: [PATCH] mmc: sdhci-msm: Restore CMDQ_VENDOR_SPECIFIC_CFG register correctly Restoring CMDQ_SEND_STATUS_TRIGGER field after XO or hardware reset can lead to CMD13 being send as soon as CQE is turned on which can lead to below unnecessary warnings followed by register dumps. [ 82.554113] mmc: sdhci_cmd_irq: Got command interrupt 0x00000001 even though no command operation was in progress. Unset that bit before restoring CMDQ_VENDOR_SPECIFIC_CFG register. Change-Id: Id5961ecdd68b0d7cbc1c48c116f9e862a1dfc573 Signed-off-by: Sarthak Garg --- drivers/mmc/host/sdhci-msm.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/mmc/host/sdhci-msm.c b/drivers/mmc/host/sdhci-msm.c index 6debdfb83630..45599cd587c2 100644 --- a/drivers/mmc/host/sdhci-msm.c +++ b/drivers/mmc/host/sdhci-msm.c @@ -2721,8 +2721,8 @@ static void sdhci_msm_registers_restore(struct sdhci_host *host) host->ioaddr + msm_offset->core_pwrctl_mask); if (cq_host) - cqhci_writel(cq_host, msm_host->cqe_regs.cqe_vendor_cfg1, - CQHCI_VENDOR_CFG1); + cqhci_writel(cq_host, msm_host->cqe_regs.cqe_vendor_cfg1 & + ~CMDQ_SEND_STATUS_TRIGGER, CQHCI_VENDOR_CFG1); if (((ios.timing == MMC_TIMING_MMC_HS400) || (ios.timing == MMC_TIMING_MMC_HS200) ||