diff --git a/drivers/net/wireless/cnss2/pci.c b/drivers/net/wireless/cnss2/pci.c index 08635be66660..bfd199c16b87 100644 --- a/drivers/net/wireless/cnss2/pci.c +++ b/drivers/net/wireless/cnss2/pci.c @@ -1107,6 +1107,9 @@ int cnss_suspend_pci_link(struct cnss_pci_data *pci_priv) cnss_pr_err("Failed to set D3Hot, err = %d\n", ret); } + /* Always do PCIe L2 suspend during power off/PCIe link recovery */ + pci_priv->drv_connected_last = 0; + ret = cnss_set_pci_link(pci_priv, PCI_LINK_DOWN); if (ret) goto out; @@ -1184,8 +1187,6 @@ int cnss_pci_recover_link_down(struct cnss_pci_data *pci_priv) */ msleep(WAKE_EVENT_TIMEOUT); - /* Always do PCIe L2 suspend/resume during link down recovery */ - pci_priv->drv_connected_last = 0; ret = cnss_suspend_pci_link(pci_priv); if (ret) cnss_pr_err("Failed to suspend PCI link, err = %d\n", ret);