cnss2: fix PCIe D3hot when suspending link
When doing WLAN SSR tests on Rome PCIe platform, system hang is observed. After debugging, setting D3hot to PCIe link when suspending leads to the hang. Setting D3hot is a new change, which is added for Napier platform. But this code path shares with legacy Rome platform. In previous implementations for Rome PCIe platforms, setting D3hot to link is not needed. Fix is to set D3hot for Napier specific platforms. Change-Id: Ia6bcb1b898204c0a8fd63355dd1f0808021182c4 CRs-Fixed: 2145090 Signed-off-by: Jia Ding <jiad@codeaurora.org>
This commit is contained in:
parent
ae2f6cb5ad
commit
1857b211df
1 changed files with 4 additions and 3 deletions
|
@ -129,9 +129,10 @@ int cnss_suspend_pci_link(struct cnss_pci_data *pci_priv)
|
||||||
|
|
||||||
pci_disable_device(pci_priv->pci_dev);
|
pci_disable_device(pci_priv->pci_dev);
|
||||||
|
|
||||||
ret = pci_set_power_state(pci_priv->pci_dev, PCI_D3hot);
|
if (pci_priv->pci_dev->device != QCA6174_DEVICE_ID) {
|
||||||
if (ret)
|
if (pci_set_power_state(pci_priv->pci_dev, PCI_D3hot))
|
||||||
cnss_pr_err("Failed to set D3Hot, err = %d\n", ret);
|
cnss_pr_err("Failed to set D3Hot, err = %d\n", ret);
|
||||||
|
}
|
||||||
|
|
||||||
ret = cnss_set_pci_link(pci_priv, PCI_LINK_DOWN);
|
ret = cnss_set_pci_link(pci_priv, PCI_LINK_DOWN);
|
||||||
if (ret)
|
if (ret)
|
||||||
|
|
Loading…
Add table
Reference in a new issue