summaryrefslogtreecommitdiff
path: root/drivers/net
diff options
context:
space:
mode:
authorKai Liu <kaliu@codeaurora.org>2017-12-05 11:07:58 +0800
committerKai Liu <kaliu@codeaurora.org>2017-12-05 11:45:53 +0800
commita08f02e1905341eb9cbd6fe8793e42b298434aee (patch)
treee9eff9d5c4668974277a2eac04ebbb694b892488 /drivers/net
parent10dc161b22a6bcd1d8f0dcceff7a6917fe305167 (diff)
net: cnss2: restore pci config space before enable device
When loading wlan driver, driver will check if chip is initialized by reading pci io FW_IND_INITIALIZED status. While timeout occurred when wait for above status randomly in multi load-unload process. Restore pci config space before enable device during resume pci link. Change-Id: Ib10f739b2321c7cb0e71ad40db571075a56ae48a Signed-off-by: Kai Liu <kaliu@codeaurora.org>
Diffstat (limited to 'drivers/net')
-rw-r--r--drivers/net/wireless/cnss2/pci.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/net/wireless/cnss2/pci.c b/drivers/net/wireless/cnss2/pci.c
index 8d34d74477eb..b57d3d5275a0 100644
--- a/drivers/net/wireless/cnss2/pci.c
+++ b/drivers/net/wireless/cnss2/pci.c
@@ -163,15 +163,16 @@ int cnss_resume_pci_link(struct cnss_pci_data *pci_priv)
pci_priv->pci_link_state = PCI_LINK_UP;
+ ret = cnss_set_pci_config_space(pci_priv, RESTORE_PCI_CONFIG_SPACE);
+ if (ret)
+ goto out;
+
ret = pci_enable_device(pci_priv->pci_dev);
if (ret) {
cnss_pr_err("Failed to enable PCI device, err = %d\n", ret);
goto out;
}
- ret = cnss_set_pci_config_space(pci_priv, RESTORE_PCI_CONFIG_SPACE);
- if (ret)
- goto out;
pci_set_master(pci_priv->pci_dev);