mt76: stop rx aggregation on station removal

Fixes use-after-free issues on forced station removal during hardware restart
on MT76x02

Signed-off-by: Felix Fietkau <[email protected]>
This commit is contained in:
Felix Fietkau
2019-08-12 15:48:55 +02:00
parent 75656a4590
commit fb0f432834
+3
View File
@@ -714,6 +714,9 @@ void __mt76_sta_remove(struct mt76_dev *dev, struct ieee80211_vif *vif,
rcu_assign_pointer(dev->wcid[idx], NULL);
synchronize_rcu();
for (i = 0; i < ARRAY_SIZE(wcid->aggr); i++)
mt76_rx_aggr_stop(dev, wcid, i);
if (dev->drv->sta_remove)
dev->drv->sta_remove(dev, vif, sta);