linux_dsm_epyc7002/drivers/net/wireless
Shahar S Matityahu 8954e1eb22 iwlwifi: trans: Clear persistence bit when starting the FW
In D3 suspend flow in 9260 gen2 HW, the NIC receives two PERST signals.
The first PERST is expected and indicates the device on coming resume flow.
The second PERST causes FW restart FW restart.
In order to avoid this issue, the FW set the persistence bit on.
Once this bit is set, the FW ignores reset attempts.
The problem is when the FW gets assert during D3 and then the persistence
bit is set and causes the FW to ignore reset.
To handle this issue, the FW opens the preg bit which allows access
to the persistence bit, so that the driver clear the persistence bit
and reset the NIC.

The flow is as follows:
the driver checks if the persistence bit is set.
If the bit is set, the driver checks if he can clear the bit.
If the driver can not clear the bit then there is no point to continue
configuring the NIC since it will fail.

The fix was added is in start HW flow instead of the resume flow since in
general, if the persistence bit is set, the driver can not start the FW.
So it is good to check it when we start configuring the NIC.

The driver does not need to close the preg bit since the FW close it
during the start flow.

Signed-off-by: Shahar S Matityahu <shahar.s.matityahu@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
2018-11-11 11:06:15 +02:00
..
admtek net/wireless: fix spaces and grammar copy/paste in vendor Kconfig help text 2018-03-13 18:52:25 +02:00
ath ath9k: dynack: remove 'experimental' tag 2018-11-06 18:27:01 +02:00
atmel atmel: Replace mdelay() with msleep() in probe_atmel_card() 2018-07-31 10:25:33 +03:00
broadcom brcmutil: print invalid chanspec when WARN-ing 2018-11-06 19:03:20 +02:00
cisco wireless: airo: potential buffer overflow in sprintf() 2018-11-06 19:02:43 +02:00
intel iwlwifi: trans: Clear persistence bit when starting the FW 2018-11-11 11:06:15 +02:00
intersil prism54: islpci_dev: mark expected switch fall-through 2018-11-06 18:59:38 +02:00
marvell mwifiex: Mark expected switch fall-through 2018-11-06 18:59:39 +02:00
mediatek mt76x0: phy: do not run calibration during channel switch 2018-10-13 17:39:53 +02:00
quantenna qtnfmac: fix error handling in control path 2018-11-06 18:57:37 +02:00
ralink rt2x00: rt61pci: mark expected switch fall-through 2018-11-06 18:59:59 +02:00
realtek rtlwifi: rtl8192de: Fix misleading REG_MCUFWDL information 2018-11-06 19:05:00 +02:00
rsi rsi: fix spelling mistake "Initialzing" -> "Initializing" 2018-11-06 18:52:10 +02:00
st cw1200: fix small typo 2018-11-06 19:03:56 +02:00
ti wlcore: Fix the return value in case of error in 'wlcore_vendor_cmd_smart_config_start()' 2018-11-06 18:53:14 +02:00
zydas zd1201: mark expected switch fall-through 2018-11-06 19:00:12 +02:00
Kconfig
mac80211_hwsim.c mac80211_hwsim: drop now unused work-queue from hwsim 2018-10-08 09:49:06 +02:00
mac80211_hwsim.h mac80211_hwsim: add permanent mac address option for new radios 2018-01-31 12:45:35 +01:00
Makefile
ray_cs.c ray_cs: mark expected switch fall-throughs 2018-11-06 19:00:01 +02:00
ray_cs.h
rayctl.h
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