diff --git a/drivers/pci/controller/pci-msm.c b/drivers/pci/controller/pci-msm.c index c181419da572..fa479cf66a83 100644 --- a/drivers/pci/controller/pci-msm.c +++ b/drivers/pci/controller/pci-msm.c @@ -7486,6 +7486,8 @@ static int msm_pcie_pm_suspend(struct pci_dev *dev, spin_unlock_irqrestore(&pcie_dev->cfg_lock, pcie_dev->irqsave_flags); + msm_msi_config_access(dev_get_msi_domain(&pcie_dev->dev->dev), false); + writel_relaxed(BIT(4), pcie_dev->elbi + PCIE20_ELBI_SYS_CTRL); wmb(); /* ensure changes propagated to the hardware */ @@ -7619,6 +7621,8 @@ static int msm_pcie_pm_resume(struct pci_dev *dev, pcie_dev->rc_idx); } + msm_msi_config_access(dev_get_msi_domain(&pcie_dev->dev->dev), true); + PCIE_DBG(pcie_dev, "RC%d: exit\n", pcie_dev->rc_idx); return ret;