Felix Fietkau 67458301fd mt76: fix race condition in station removal
If there are still pending packets in the tx queue when removing a station,
it could possibly lead to a call to further attempts to pull packets from
the mac80211 tx queue after it has already been removed from the scheduling
list.
Prevent this from happening by calling synchronize_rcu after deleting the
wcid pointer before further cleaning up the tx queues.
To be extra careful, ensure that mtxq->list is always initialized properly.

Also drop the useless call to mt76x02_mac_wcid_setup, which only re-assigns
the bss index of the wcid entry, but does not help with the cleanup in any
way.

Signed-off-by: Felix Fietkau <[email protected]>
2018-11-13 11:30:00 +01:00
2018-10-16 12:53:43 +02:00
2015-12-13 17:54:16 +01:00
2018-11-09 13:44:02 +01:00
2018-10-08 13:47:02 +02:00
2018-10-23 11:14:20 +02:00
2018-11-01 18:04:33 +01:00
2016-09-04 17:33:28 +02:00
2018-10-23 09:49:40 +02:00
2016-09-04 18:06:48 +02:00
S
Description
mac80211 driver for MediaTek MT76x0e, MT76x2e, MT7603, MT7615, MT7628 and MT7688
BSD-3-Clause
105 MiB
Languages
C 99.7%
Perl 0.2%
Makefile 0.1%