Skip to content

Commit

Permalink
mac80211: fix sta lookup for received action frames on an AP VLAN
Browse files Browse the repository at this point in the history
When looking for a matching interface, __ieee80211_rx_handle_packet
loops over all active interfaces, looking for matching stations.
Because AP VLAN interfaces are not processed as part of this loop, it
needs to use sta_info_get_bss instead of sta_info_get in order to find
a STA that has been moved to a VLAN.
This fixes issues with aggregation setup/teardown.

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 Feb 1, 2010
1 parent e0b20f1 commit 4754ffd
Showing 1 changed file with 2 additions and 2 deletions.
4 changes: 2 additions & 2 deletions net/mac80211/rx.c
Original file line number Diff line number Diff line change
Expand Up @@ -2359,7 +2359,7 @@ static void __ieee80211_rx_handle_packet(struct ieee80211_hw *hw,
continue;
}

rx.sta = sta_info_get(prev, hdr->addr2);
rx.sta = sta_info_get_bss(prev, hdr->addr2);

rx.flags |= IEEE80211_RX_RA_MATCH;
prepares = prepare_for_handlers(prev, &rx, hdr);
Expand Down Expand Up @@ -2395,7 +2395,7 @@ static void __ieee80211_rx_handle_packet(struct ieee80211_hw *hw,
}

if (prev) {
rx.sta = sta_info_get(prev, hdr->addr2);
rx.sta = sta_info_get_bss(prev, hdr->addr2);

rx.flags |= IEEE80211_RX_RA_MATCH;
prepares = prepare_for_handlers(prev, &rx, hdr);
Expand Down

0 comments on commit 4754ffd

Please sign in to comment.