summaryrefslogtreecommitdiff
path: root/net/mac80211
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2014-02-11 16:02:47 +0100
committerJiri Slaby <jslaby@suse.cz>2014-03-22 22:01:49 +0100
commitb6f6dfa1267332f3995f3a8cc53a30bb300ada54 (patch)
tree4402f3fa7b2c664586e9222e5ea2e7286080a413 /net/mac80211
parent97992a401b8e43580f7812387f74f4f1e919b800 (diff)
downloadlwn-b6f6dfa1267332f3995f3a8cc53a30bb300ada54.tar.gz
lwn-b6f6dfa1267332f3995f3a8cc53a30bb300ada54.zip
mac80211: send control port protocol frames to the VO queue
commit 1bf4bbb4024dcdab5e57634dd8ae1072d42a53ac upstream. Improves reliability of wifi connections with WPA, since authentication frames are prioritized over normal traffic and also typically exempt from aggregation. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Diffstat (limited to 'net/mac80211')
-rw-r--r--net/mac80211/wme.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/net/mac80211/wme.c b/net/mac80211/wme.c
index afba19cb6f87..a282fddf8b00 100644
--- a/net/mac80211/wme.c
+++ b/net/mac80211/wme.c
@@ -153,6 +153,11 @@ u16 ieee80211_select_queue(struct ieee80211_sub_if_data *sdata,
return IEEE80211_AC_BE;
}
+ if (skb->protocol == sdata->control_port_protocol) {
+ skb->priority = 7;
+ return ieee80211_downgrade_queue(sdata, skb);
+ }
+
/* use the data classifier to determine what 802.1d tag the
* data frame has */
skb->priority = cfg80211_classify8021d(skb);