Skip to content

Commit

Permalink
mac80211: fix aggregation action frame handling with AP VLANs
Browse files Browse the repository at this point in the history
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 <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
  • Loading branch information
Felix Fietkau authored and John W. Linville committed Jul 20, 2010
1 parent b807b8a commit 875ae5f
Showing 1 changed file with 2 additions and 2 deletions.
4 changes: 2 additions & 2 deletions net/mac80211/iface.c
Original file line number Diff line number Diff line change
Expand Up @@ -741,7 +741,7 @@ static void ieee80211_iface_work(struct work_struct *work)
int 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:
Expand Down Expand Up @@ -782,7 +782,7 @@ static void ieee80211_iface_work(struct work_struct *work)
* 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;
Expand Down

0 comments on commit 875ae5f

Please sign in to comment.