linux_dsm_epyc7002/drivers/net/wireless
Emmanuel Grumbach f98ad635c0 iwlwifi: pcie: don't access periphery registers when not available
The periphery can't be accessed before we set the
INIT_DONE bit which initializes the device.

A previous patch added a reconfiguration of the MSI-X
tables upon resume, but at that point in the flow,
INIT_DONE wasn't set. Since the reconfiguration of the
MSI-X tables require periphery access, it failed.

The difference between WoWLAN and without WoWLAN is that
in WoWLAN, iwl_trans_pcie_d3_suspend clears the INIT_DONE
without clearing the STATUS_DEVICE_ENABLED bit in the
software status. Because of that, the resume code thinks
that the device is enabled, but the INIT_DONE bit has been
cleared.

To fix this, don't reconfigure the MSI-X tables in case
WoWLAN is enabled. It will be done in
iwl_trans_pcie_d3_resume anyway.

Fixes: 52848a79b9 ("iwlwifi: pcie: reconfigure MSI-X HW on resume")
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
2018-08-02 10:50:07 +03:00
..
admtek net/wireless: fix spaces and grammar copy/paste in vendor Kconfig help text 2018-03-13 18:52:25 +02:00
ath Merge ath-next from git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git 2018-07-25 10:50:54 +03:00
atmel atmel: Replace mdelay() with msleep() in probe_atmel_card() 2018-07-31 10:25:33 +03:00
broadcom brcmfmac: specify some features per firmware version 2018-07-31 10:22:16 +03:00
cisco airo: remove unused variables len and dev and clean up formatting 2018-07-31 10:17:19 +03:00
intel iwlwifi: pcie: don't access periphery registers when not available 2018-08-02 10:50:07 +03:00
intersil hostap: hide unused procfs helpers 2018-07-31 10:21:33 +03:00
marvell mwifiex: Fix skipped vendor specific IEs 2018-07-31 10:13:39 +03:00
mediatek mt76x2: fix CCK protection control frame rate 2018-07-30 17:32:36 +03:00
quantenna qtnfmac: enable multiple SSIDs scan support 2018-07-30 17:12:17 +03:00
ralink rt2x00: remove redundant functions rt2x00mac_sta_{add/remove} 2018-07-31 10:27:40 +03:00
realtek rtl818x: Replace mdelay() with msleep() in rtl8225se_rf_init 2018-07-31 10:26:46 +03:00
rsi rsi: move init_done flag to end of rsi_91x_init(). 2018-07-31 10:16:05 +03:00
st treewide: kzalloc() -> kcalloc() 2018-06-12 16:19:22 -07:00
ti wlcore: Set rx_status boottime_ns field on rx 2018-07-31 10:24:10 +03:00
zydas zd1211rw: use irqsave() in USB's complete callback 2018-06-27 19:12:43 +03:00
Kconfig
mac80211_hwsim.c mac80211_hwsim: Add support for HE 2018-07-09 10:21:28 +02:00
mac80211_hwsim.h mac80211_hwsim: add permanent mac address option for new radios 2018-01-31 12:45:35 +01:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
ray_cs.c ray_cs: remove redundant pointer 'p' 2018-07-31 10:19:50 +03:00
ray_cs.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
rayctl.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
rndis_wlan.c wireless-drivers: use BIT_ULL for NL80211_STA_INFO_ attribute types 2018-06-27 19:07:39 +03:00
wl3501_cs.c
wl3501.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00