mac80211: fix aggregation action frame handling with AP VLANs
PATCH 1/1 mac80211: fix aggregation action frame handling with AP VLANs
When aggregation related action frames are enqueued for further work, and they originate from a STA that is part of an AP VLAN, they are currently enqueued for the AP interface. This breaks the sta_info_get() lookup in the actual work function, and because of that, aggregation sessions are not established for this STA.
Fix this by replacing the sta_info_get call with a call to sta_info_get_bss.
Signed-off-by Felix Fietkau <[email protected]>
---
net/mac80211/iface.c +2 -2
@@ -756,7 +756,7 @@ static void ieee80211_iface_work(structint len = skb->len;mutex_lock (&local->sta_mtx); - sta =sta_info_get (sdata, mgmt->sa); + sta =sta_info_get_bss (sdata, mgmt->sa);if (sta) {switch (mgmt->u.action.u.addba_req.action_code) {case WLAN_ACTION_ADDBA_REQ :
@@ -797,7 +797,7 @@ static void ieee80211_iface_work(struct* right, so terminate the session. */ mutex_lock (&local->sta_mtx); - sta =sta_info_get (sdata, mgmt->sa); + sta =sta_info_get_bss (sdata, mgmt->sa);if (sta) {u16 tid = *ieee80211_get_qos_ctl (hdr) &IEEE80211_QOS_CTL_TID_MASK ;