mirror_ubuntu-kernels/drivers/net/wireless
Shaul Triebitz 96d2bfb794 iwlwifi: mvm: clear IN_D3 after wowlan status cmd
In D3 resume flow, avoid the following race where sending
packets before updating the sequence number (sequence
number received from the wowlan status command response):
Thread 1:
__iwl_mvm_resume clears IWL_MVM_STATUS_IN_D3 and is cut
by thread 2 before reaching iwl_mvm_query_wakeup_reasons.
Thread 2:
iwl_mvm_mac_itxq_xmit calls iwl_mvm_tx_skb since
IWL_MVM_STATUS_IN_D3 is not set using a wrong sequence number.
Thread 1:
__iwl_mvm_resume continues and calls iwl_mvm_query_wakeup_reasons
updating the sequence number received from the firmware.

The next packet that will be sent now will cause sysassert 0x1096.

Fix the bug by moving 'clear IWL_MVM_STATUS_IN_D3' to after
sending the wowlan status command and updating the sequence
number.

Signed-off-by: Shaul Triebitz <shaul.triebitz@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/iwlwifi.20210122144849.fe927ec939c6.I103d3321fb55da7e6c6c51582cfadf94eb8b6c58@changeid
2021-01-25 15:59:19 +02:00
..
admtek adm8211: fix error return code in adm8211_probe() 2020-12-07 18:35:43 +02:00
ath wil6210: select CONFIG_CRC32 2021-01-05 15:50:36 -08:00
atmel atmel: convert tasklets to use new tasklet_setup() API 2020-08-27 16:22:02 +03:00
broadcom brcmfmac: remove redundant assignment to pointer 'entry' 2020-12-07 18:36:11 +02:00
cisco airo: Fix fall-through warnings for Clang 2020-12-08 10:06:53 +02:00
intel iwlwifi: mvm: clear IN_D3 after wowlan status cmd 2021-01-25 15:59:19 +02:00
intersil orinoco: Annotate ezusb_read_ltv() 2020-11-24 17:01:19 +02:00
marvell mwifiex: Fix possible buffer overflows in mwifiex_cmd_802_11_ad_hoc_start 2020-12-08 09:33:27 +02:00
mediatek mt76: mt7663s: fix rx buffer refcounting 2021-01-18 17:22:59 +02:00
microchip wilc1000: changes for SPI communication stall issue found with Iperf 2020-12-10 20:48:13 +02:00
quantenna wireless-drivers-next patches for v5.11 2020-12-04 10:56:37 -08:00
ralink rt2x00: Fix fall-through warnings for Clang 2020-12-08 10:06:56 +02:00
realtek rtlwifi: rise completion at the last step of firmware callback 2020-12-17 18:37:47 +02:00
rsi rsi: fix error return code in rsi_reset_card() 2020-11-24 17:04:58 +02:00
st cw1200: txrx: convert comma to semicolon 2020-12-10 20:49:14 +02:00
ti wl1251: remove trailing semicolon in macro definition 2020-12-02 21:39:20 +02:00
zydas zd1201: Fix fall-through warnings for Clang 2020-12-08 10:06:59 +02:00
Kconfig wireless: remove CONFIG_WIRELESS_WDS 2020-11-10 09:39:08 +01:00
mac80211_hwsim.c genetlink: move to smaller ops wherever possible 2020-10-02 19:11:11 -07:00
mac80211_hwsim.h
Makefile wilc1000: move wilc driver out of staging 2020-06-26 08:46:46 +03:00
ray_cs.c ray_cs: Use fallthrough pseudo-keyword 2020-11-07 13:30:09 +02:00
ray_cs.h
rayctl.h
rndis_wlan.c net: usb: switch to dev_get_tstats64 and remove usbnet_get_stats64 alias 2020-11-12 14:58:27 -08:00
virt_wifi.c
wl3501_cs.c wl3501_cs: Fix misspelling and provide missing documentation 2020-11-07 18:05:36 +02:00
wl3501.h