summaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2014-02-11 16:02:47 +0100
committerJohannes Berg <johannes.berg@intel.com>2014-02-12 11:26:43 +0100
commit1bf4bbb4024dcdab5e57634dd8ae1072d42a53ac (patch)
tree5b7c4ab3adb0ab44bc58068544e2ea0b3ef113cf /net
parentc368ddaa9ad79fdffde4756804321feba6725c75 (diff)
downloadop-kernel-dev-1bf4bbb4024dcdab5e57634dd8ae1072d42a53ac.zip
op-kernel-dev-1bf4bbb4024dcdab5e57634dd8ae1072d42a53ac.tar.gz
mac80211: send control port protocol frames to the VO queue
Improves reliability of wifi connections with WPA, since authentication frames are prioritized over normal traffic and also typically exempt from aggregation. Cc: stable@vger.kernel.org Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net')
-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 21211c6..d51422c 100644
--- a/net/mac80211/wme.c
+++ b/net/mac80211/wme.c
@@ -154,6 +154,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 */
rcu_read_lock();
OpenPOWER on IntegriCloud