pci: msm: Add a check for lpi_enable before msi config access
For LPI based interrupts, IRQ handler passes the IRQ directly to the client. So, no need of pcie driver(pci-msm-msi.c) for LPI based interrupts. Add a check for lpi_enable before msi config access to MSI register at the time of link enumeration as msi config access is not applicable to LPIs. Without this check pcie driver is trying to give msi->cfg_access for LPI interrupts also and acquires the msi->cfg_lock before giving the msi->cfg_access. Kernel bark handler detects long wait on msi->cfg_lock and triggers the crash. Fixes: a4421ad177fb ("pci: msm: create a de-enumerate api"). Change-Id: Ice55eb5df9f52bab8b4a029ed55236ecf1766766 Signed-off-by: Paras Sharma <quic_parass@quicinc.com>
This commit is contained in:
parent
c6b0356043
commit
8a2cd25643
@ -6116,8 +6116,8 @@ int msm_pcie_enumerate(u32 rc_idx)
|
||||
}
|
||||
} else {
|
||||
bridge = dev->bridge;
|
||||
msm_msi_config_access(dev_get_msi_domain(&dev->dev->dev),
|
||||
true);
|
||||
if (!dev->lpi_enable)
|
||||
msm_msi_config_access(dev_get_msi_domain(&dev->dev->dev), true);
|
||||
}
|
||||
|
||||
bridge->sysdata = dev;
|
||||
|
Loading…
Reference in New Issue
Block a user