aboutsummaryrefslogtreecommitdiffstats
path: root/net/mac80211/tx.c
diff options
context:
space:
mode:
authorHelmut Schaa <helmut.schaa@googlemail.com>2011-12-15 04:18:34 -0500
committerJohn W. Linville <linville@tuxdriver.com>2011-12-15 14:46:35 -0500
commitcf6bb79ad8287cd9fe8783aa8c9afdc9f6799657 (patch)
tree771c8d4bfe3e2dc760210ef3672e709c67275d08 /net/mac80211/tx.c
parent4d33960bf9fa2c0ee82ba7120e7b56c766dd3a86 (diff)
mac80211: Use appropriate TID for sending BAR, ADDBA and DELBA frames
Currently BAR, ADDBA and DELBA frames are always sent using AC_VO. If the TID for which a BA session is established is assigned to a different queue BAR, ADDBA and DELBA frames can "overtake" frames of the according BA session. Hence, always put BA session related frames into the same queue as the BA sessions data frames. Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/mac80211/tx.c')
-rw-r--r--net/mac80211/tx.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/net/mac80211/tx.c b/net/mac80211/tx.c
index ab033fd00b72..edcd1c7ab83f 100644
--- a/net/mac80211/tx.c
+++ b/net/mac80211/tx.c
@@ -2696,15 +2696,15 @@ ieee80211_get_buffered_bc(struct ieee80211_hw *hw,
2696} 2696}
2697EXPORT_SYMBOL(ieee80211_get_buffered_bc); 2697EXPORT_SYMBOL(ieee80211_get_buffered_bc);
2698 2698
2699void ieee80211_tx_skb(struct ieee80211_sub_if_data *sdata, struct sk_buff *skb) 2699void ieee80211_tx_skb_tid(struct ieee80211_sub_if_data *sdata,
2700 struct sk_buff *skb, int tid)
2700{ 2701{
2701 skb_set_mac_header(skb, 0); 2702 skb_set_mac_header(skb, 0);
2702 skb_set_network_header(skb, 0); 2703 skb_set_network_header(skb, 0);
2703 skb_set_transport_header(skb, 0); 2704 skb_set_transport_header(skb, 0);
2704 2705
2705 /* Send all internal mgmt frames on VO. Accordingly set TID to 7. */ 2706 skb_set_queue_mapping(skb, ieee802_1d_to_ac[tid]);
2706 skb_set_queue_mapping(skb, IEEE80211_AC_VO); 2707 skb->priority = tid;
2707 skb->priority = 7;
2708 2708
2709 /* 2709 /*
2710 * The other path calling ieee80211_xmit is from the tasklet, 2710 * The other path calling ieee80211_xmit is from the tasklet,