summaryrefslogtreecommitdiff
path: root/net/mac80211/tx.c
diff options
context:
space:
mode:
authorJavier Cardona <javier@cozybit.com>2011-09-07 17:49:52 -0700
committerJohn W. Linville <linville@tuxdriver.com>2011-09-14 13:56:48 -0400
commit4777be41638cfab56c78b2a764a5f83beb6cfdd2 (patch)
tree9b041c2ffdaccf13a24b8bdb62c817cc87942a01 /net/mac80211/tx.c
parent3de3d966007592693e68a973f62a1e3828565af0 (diff)
downloadlinux-3.10-4777be41638cfab56c78b2a764a5f83beb6cfdd2.tar.gz
linux-3.10-4777be41638cfab56c78b2a764a5f83beb6cfdd2.tar.bz2
linux-3.10-4777be41638cfab56c78b2a764a5f83beb6cfdd2.zip
mac80211: Start implementing QoS support for mesh interfaces
In order to support QoS in mesh, we need to assign queue mapping only after the next hop has been resolved, both for forwarded and locally originated frames. Also, now that this is fixed, remove the XXX comment in ieee80211_select_queue(). Also, V-Shy Ho reported that the queue mapping was not being applied to the forwarded frame (fwd_skb instead of skb). Fixed that as well. Signed-off-by: Javier Cardona <javier@cozybit.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/mac80211/tx.c')
-rw-r--r--net/mac80211/tx.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/net/mac80211/tx.c b/net/mac80211/tx.c
index 2521716aa97..2a8e437165f 100644
--- a/net/mac80211/tx.c
+++ b/net/mac80211/tx.c
@@ -1879,6 +1879,10 @@ netdev_tx_t ieee80211_subif_start_xmit(struct sk_buff *skb,
rcu_read_unlock();
}
+ /* For mesh, the use of the QoS header is mandatory */
+ if (ieee80211_vif_is_mesh(&sdata->vif))
+ sta_flags |= WLAN_STA_WME;
+
/* receiver and we are QoS enabled, use a QoS type frame */
if ((sta_flags & WLAN_STA_WME) && local->hw.queues >= 4) {
fc |= cpu_to_le16(IEEE80211_STYPE_QOS_DATA);