diff options
author | avos <avos@FreeBSD.org> | 2016-06-29 17:25:46 +0000 |
---|---|---|
committer | avos <avos@FreeBSD.org> | 2016-06-29 17:25:46 +0000 |
commit | 19e196315ea112a4d6e5618f871df55902e3bb99 (patch) | |
tree | 7edfcd8a5ab830fc811418da4c0893551af5d185 /usr.bin | |
parent | 5c68448b2f996875f54eceb0cf97c6a1a749748c (diff) | |
download | FreeBSD-src-19e196315ea112a4d6e5618f871df55902e3bb99.zip FreeBSD-src-19e196315ea112a4d6e5618f871df55902e3bb99.tar.gz |
net80211: fix LOR/deadlock in ieee80211_ff_node_cleanup().
Add new lock for stageq (part of ieee80211_superg structure) and
ni_tx_superg (part of ieee80211_node structure);
drop com_lock protection where it is used to protect them.
While here, drop duplicate OPACKETS counter incrementation.
ni_tx_ampdu is not protected with it (however, it is also used without
locking in other places; probably, it requires some other solution
to be thread-safe).
Tested with RTL8188CUS (AP) and RTL8188EU (STA).
NOTE: Since this change breaks KBI, all wireless drivers need to be
recompiled.
Reviewed by: adrian
Approved by: re (gjb)
Differential Revision: https://reviews.freebsd.org/D6958
Diffstat (limited to 'usr.bin')
0 files changed, 0 insertions, 0 deletions