mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-13 08:07:32 -04:00
cnss2: Check driver link state before prevent/allow PCIe L1
Avoid calling prevent/allow PCIe L1 APIs if driver has already known link is not accessible. Change-Id: Ia12c6b932fb7d99916ca2b76323bd2c01bdb655d Signed-off-by: Yue Ma <yuem@codeaurora.org>
This commit is contained in:
parent
b38b5109bf
commit
dc06247a66
1 changed files with 32 additions and 0 deletions
|
|
@ -828,6 +828,22 @@ out:
|
|||
int cnss_pci_prevent_l1(struct device *dev)
|
||||
{
|
||||
struct pci_dev *pci_dev = to_pci_dev(dev);
|
||||
struct cnss_pci_data *pci_priv = cnss_get_pci_priv(pci_dev);
|
||||
|
||||
if (!pci_priv) {
|
||||
cnss_pr_err("pci_priv is NULL\n");
|
||||
return -ENODEV;
|
||||
}
|
||||
|
||||
if (pci_priv->pci_link_state == PCI_LINK_DOWN) {
|
||||
cnss_pr_dbg("PCIe link is suspended\n");
|
||||
return -EIO;
|
||||
}
|
||||
|
||||
if (pci_priv->pci_link_down_ind) {
|
||||
cnss_pr_err("PCIe link is down\n");
|
||||
return -EIO;
|
||||
}
|
||||
|
||||
return msm_pcie_prevent_l1(pci_dev);
|
||||
}
|
||||
|
|
@ -836,6 +852,22 @@ EXPORT_SYMBOL(cnss_pci_prevent_l1);
|
|||
void cnss_pci_allow_l1(struct device *dev)
|
||||
{
|
||||
struct pci_dev *pci_dev = to_pci_dev(dev);
|
||||
struct cnss_pci_data *pci_priv = cnss_get_pci_priv(pci_dev);
|
||||
|
||||
if (!pci_priv) {
|
||||
cnss_pr_err("pci_priv is NULL\n");
|
||||
return;
|
||||
}
|
||||
|
||||
if (pci_priv->pci_link_state == PCI_LINK_DOWN) {
|
||||
cnss_pr_dbg("PCIe link is suspended\n");
|
||||
return;
|
||||
}
|
||||
|
||||
if (pci_priv->pci_link_down_ind) {
|
||||
cnss_pr_err("PCIe link is down\n");
|
||||
return;
|
||||
}
|
||||
|
||||
msm_pcie_allow_l1(pci_dev);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue