aboutsummaryrefslogtreecommitdiffstats
path: root/net/mac80211/agg-tx.c
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2011-11-23 09:09:49 -0500
committerJohn W. Linville <linville@tuxdriver.com>2011-11-28 14:43:52 -0500
commitbc192f8918ab8e41ba53b9ef881bc425ae92ed1b (patch)
treea7a0e2e7eefda7fefdd1942821b9d71ab7610a5c /net/mac80211/agg-tx.c
parent5ccc32ff46065f031075cdbbdfe21b9e3b05aaad (diff)
mac80211: do not pass AP VLAN vif pointers to drivers
This fixes frequent WARN_ONs when using AP VLAN + aggregation, as these vifs are virtual and not registered with drivers. Use sta_info_get_bss instead of sta_info_get in aggregation callbacks, so that these callbacks can find the station entry when called with the AP vif. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/mac80211/agg-tx.c')
-rw-r--r--net/mac80211/agg-tx.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/net/mac80211/agg-tx.c b/net/mac80211/agg-tx.c
index a2d9654aabcb..266cc871c72d 100644
--- a/net/mac80211/agg-tx.c
+++ b/net/mac80211/agg-tx.c
@@ -555,7 +555,7 @@ void ieee80211_start_tx_ba_cb(struct ieee80211_vif *vif, u8 *ra, u16 tid)
555 } 555 }
556 556
557 mutex_lock(&local->sta_mtx); 557 mutex_lock(&local->sta_mtx);
558 sta = sta_info_get(sdata, ra); 558 sta = sta_info_get_bss(sdata, ra);
559 if (!sta) { 559 if (!sta) {
560 mutex_unlock(&local->sta_mtx); 560 mutex_unlock(&local->sta_mtx);
561#ifdef CONFIG_MAC80211_HT_DEBUG 561#ifdef CONFIG_MAC80211_HT_DEBUG
@@ -684,7 +684,7 @@ void ieee80211_stop_tx_ba_cb(struct ieee80211_vif *vif, u8 *ra, u8 tid)
684 684
685 mutex_lock(&local->sta_mtx); 685 mutex_lock(&local->sta_mtx);
686 686
687 sta = sta_info_get(sdata, ra); 687 sta = sta_info_get_bss(sdata, ra);
688 if (!sta) { 688 if (!sta) {
689#ifdef CONFIG_MAC80211_HT_DEBUG 689#ifdef CONFIG_MAC80211_HT_DEBUG
690 printk(KERN_DEBUG "Could not find station: %pM\n", ra); 690 printk(KERN_DEBUG "Could not find station: %pM\n", ra);