diff options
| author | Kai Liu <kaliu@codeaurora.org> | 2017-12-05 11:07:58 +0800 |
|---|---|---|
| committer | Kai Liu <kaliu@codeaurora.org> | 2017-12-05 11:45:53 +0800 |
| commit | a08f02e1905341eb9cbd6fe8793e42b298434aee (patch) | |
| tree | e9eff9d5c4668974277a2eac04ebbb694b892488 /drivers/net | |
| parent | 10dc161b22a6bcd1d8f0dcceff7a6917fe305167 (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.c | 7 |
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); |
