On Tue, 11 Mar 2025 at 17:59, Kamal Dasu <kamal.dasu@xxxxxxxxxxxx> wrote: > > cqhci timeouts observed on brcmstb platforms during suspend: > ... > [ 164.832853] mmc0: cqhci: timeout for tag 18 > ... > > Adding cqhci_suspend()/resume() calls to disable cqe > in sdhci_brcmstb_suspend()/resume() respectively to fix > CQE timeouts seen on PM suspend. > > Fixes: d46ba2d17f90 ("mmc: sdhci-brcmstb: Add support for Command Queuing (CQE)") > Cc: stable@xxxxxxxxxxxxxxx > Signed-off-by: Kamal Dasu <kamal.dasu@xxxxxxxxxxxx> Applied for fixes, thanks! Kind regards Uffe > --- > drivers/mmc/host/sdhci-brcmstb.c | 10 ++++++++++ > 1 file changed, 10 insertions(+) > > diff --git a/drivers/mmc/host/sdhci-brcmstb.c b/drivers/mmc/host/sdhci-brcmstb.c > index 0ef4d578ade8..48cdcba0f39c 100644 > --- a/drivers/mmc/host/sdhci-brcmstb.c > +++ b/drivers/mmc/host/sdhci-brcmstb.c > @@ -503,8 +503,15 @@ static int sdhci_brcmstb_suspend(struct device *dev) > struct sdhci_host *host = dev_get_drvdata(dev); > struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host); > struct sdhci_brcmstb_priv *priv = sdhci_pltfm_priv(pltfm_host); > + int ret; > > clk_disable_unprepare(priv->base_clk); > + if (host->mmc->caps2 & MMC_CAP2_CQE) { > + ret = cqhci_suspend(host->mmc); > + if (ret) > + return ret; > + } > + > return sdhci_pltfm_suspend(dev); > } > > @@ -529,6 +536,9 @@ static int sdhci_brcmstb_resume(struct device *dev) > ret = clk_set_rate(priv->base_clk, priv->base_freq_hz); > } > > + if (host->mmc->caps2 & MMC_CAP2_CQE) > + ret = cqhci_resume(host->mmc); > + > return ret; > } > #endif > -- > 2.17.1 >