linux_dsm_epyc7002/drivers/net/wireless/ath
Vladimir Kondratiev 097638a08a wil6210: fix race between disconnect and Tx NAPI
When disconnecting some CID, corresponded Tx vring get released. During vring
release, all descriptors get freed. It is possible that Tx NAPI working on the same
vring simultaneously. If it happens, descriptor may be double freed.

To protect from the race above, make sure NAPI won't process the same vring.
Introduce 'enabled' flag in the struct vring_tx_data. Proceed with Tx NAPI only if
'enabled' flag set. Prior to Tx vring release, clear this flag and make sure NAPI
get synchronized.

NAPI enablement status protected by wil->mutex, add protection where it was
missing and check for it.

During reset, disconnect all peers first, then proceed with the Rx vring. It allows for
the disconnect flow to observe proper 'wil->status' and correctly notify cfg80211 about
connection status change

Signed-off-by: Vladimir Kondratiev <qca_vkondrat@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2014-03-17 13:44:19 -04:00
..
ar5523 ar5523: fix usb id for Gigaset. 2014-02-04 15:30:07 -05:00
ath5k ath5k: add missing dma_map_error call 2014-03-14 14:49:16 -04:00
ath6kl Merge branch 'for-linville' of git://github.com/kvalo/ath 2014-02-24 15:02:36 -05:00
ath9k ath9k: Fix temperature compensation 2014-03-17 13:44:16 -04:00
ath10k ath10k: do not overwrite max_antenna_gain 2014-03-07 10:14:10 +02:00
carl9170 carl9170: use ath_is_mybeacon 2014-01-16 14:55:45 -05:00
wcn36xx wcn36xx: Update dtim period before starting BSS 2014-02-13 15:20:18 -05:00
wil6210 wil6210: fix race between disconnect and Tx NAPI 2014-03-17 13:44:19 -04:00
ath.h ath9k: move sc_flags to ath_common 2014-03-17 13:13:06 -04:00
debug.c
dfs_pattern_detector.c ath9k/ath: move dfs pattern detector to ath 2013-10-18 14:03:54 -04:00
dfs_pattern_detector.h ath9k/ath: move dfs pattern detector to ath 2013-10-18 14:03:54 -04:00
dfs_pri_detector.c ath9k/ath: move dfs pattern detector to ath 2013-10-18 14:03:54 -04:00
dfs_pri_detector.h ath9k/ath: move dfs pattern detector to ath 2013-10-18 14:03:54 -04:00
hw.c ath: update hardware mac address with bssid mask 2013-04-22 15:20:15 -04:00
Kconfig ath: add support for proper dynamic regulatory hints 2013-10-18 14:04:41 -04:00
key.c ath: Let user know which keycache method is complaining. 2013-04-08 15:28:37 -04:00
main.c ath: add common function ath_is_mybeacon 2014-01-16 14:55:44 -05:00
Makefile ath9k/ath: move dfs pattern detector to ath 2013-10-18 14:03:54 -04:00
reg.h ath: update hardware mac address with bssid mask 2013-04-22 15:20:15 -04:00
regd_common.h
regd.c ath: remove camel case from struct reg_dmn_pair_mapping 2014-02-14 13:20:32 +02:00
regd.h wireless: make the reg_notifier() void 2013-01-14 11:32:44 +01:00