diff options
author | Felix Fietkau <nbd@openwrt.org> | 2014-02-11 15:00:55 +0000 |
---|---|---|
committer | Felix Fietkau <nbd@openwrt.org> | 2014-02-11 15:00:55 +0000 |
commit | 9d93ca72fb57f4df455518c1a7f891b1585cc0d4 (patch) | |
tree | cb2bb609e4694006f66b1cf5b72d969aab9c13f4 /package/kernel/mac80211/patches/300-pending_work.patch | |
parent | 97c3a186fbbb6fc9a26d61629991df77052dcab2 (diff) | |
download | master-187ad058-9d93ca72fb57f4df455518c1a7f891b1585cc0d4.tar.gz master-187ad058-9d93ca72fb57f4df455518c1a7f891b1585cc0d4.tar.bz2 master-187ad058-9d93ca72fb57f4df455518c1a7f891b1585cc0d4.zip |
mac80211: send wpa frames through the WMM voice queue - improves connection reliability
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39572 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/kernel/mac80211/patches/300-pending_work.patch')
-rw-r--r-- | package/kernel/mac80211/patches/300-pending_work.patch | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/package/kernel/mac80211/patches/300-pending_work.patch b/package/kernel/mac80211/patches/300-pending_work.patch index 52db79f408..a790183f74 100644 --- a/package/kernel/mac80211/patches/300-pending_work.patch +++ b/package/kernel/mac80211/patches/300-pending_work.patch @@ -1,3 +1,16 @@ +commit 82ed9e3ccc02797df2ffe4b78127c4cd5f799a41 +Author: Felix Fietkau <nbd@openwrt.org> +Date: Tue Feb 11 15:54:13 2014 +0100 + + 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> + commit d4426800f71e972feaa33e04c5801fc730627bdd Author: Stanislaw Gruszka <stf_xl@wp.pl> Date: Mon Feb 10 22:38:28 2014 +0100 @@ -2705,3 +2718,17 @@ Date: Thu Jan 23 20:06:34 2014 +0100 bool rfkill_off; u16 seqno; }; +--- a/net/mac80211/wme.c ++++ b/net/mac80211/wme.c +@@ -154,6 +154,11 @@ u16 ieee80211_select_queue(struct ieee80 + 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(); |