From c0bec2b3150cfb15a296d1bcefb44f24afdca6d8 Mon Sep 17 00:00:00 2001
From: Felix Fietkau <nbd@openwrt.org>
Date: Tue, 11 Feb 2014 15:00:55 +0000
Subject: [PATCH] mac80211: send wpa frames through the WMM voice queue -
 improves connection reliability

Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 39572
---
 .../mac80211/patches/300-pending_work.patch   | 27 +++++++++++++++++++
 1 file changed, 27 insertions(+)

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();
-- 
GitLab