summaryrefslogtreecommitdiff
path: root/package/kernel/mac80211/patches/910-wlcore-send-EAPOL-frames-with-voice-priority.patch
diff options
context:
space:
mode:
Diffstat (limited to 'package/kernel/mac80211/patches/910-wlcore-send-EAPOL-frames-with-voice-priority.patch')
-rw-r--r--package/kernel/mac80211/patches/910-wlcore-send-EAPOL-frames-with-voice-priority.patch37
1 files changed, 37 insertions, 0 deletions
diff --git a/package/kernel/mac80211/patches/910-wlcore-send-EAPOL-frames-with-voice-priority.patch b/package/kernel/mac80211/patches/910-wlcore-send-EAPOL-frames-with-voice-priority.patch
new file mode 100644
index 0000000..6f6b22a
--- /dev/null
+++ b/package/kernel/mac80211/patches/910-wlcore-send-EAPOL-frames-with-voice-priority.patch
@@ -0,0 +1,37 @@
+Send EAPOL frames with voice priority by setting (the new)
+TX_HW_ATTR_EAPOL_FRAME bit in tx attribute.
+
+Sending EAPOL with voice priority fixes re-key
+timeout issues during heavy traffic.
+
+Signed-off-by: Igal Chernobelsky <igalc@ti.com>
+Signed-off-by: Eliad Peller <eliad@wizery.com>
+
+---
+drivers/net/wireless/ti/wlcore/tx.c | 4 ++++
+ drivers/net/wireless/ti/wlcore/tx.h | 1 +
+ 2 files changed, 5 insertions(+)
+
+--- a/drivers/net/wireless/ti/wlcore/tx.c
++++ b/drivers/net/wireless/ti/wlcore/tx.c
+@@ -362,6 +362,10 @@ static void wl1271_tx_fill_hdr(struct wl
+ ieee80211_has_protected(frame_control))
+ tx_attr |= TX_HW_ATTR_HOST_ENCRYPT;
+
++ /* send EAPOL frames as voice */
++ if (control->control.flags & IEEE80211_TX_CTRL_PORT_CTRL_PROTO)
++ tx_attr |= TX_HW_ATTR_EAPOL_FRAME;
++
+ desc->tx_attr = cpu_to_le16(tx_attr);
+
+ wlcore_hw_set_tx_desc_csum(wl, desc, skb);
+--- a/drivers/net/wireless/ti/wlcore/tx.h
++++ b/drivers/net/wireless/ti/wlcore/tx.h
+@@ -37,6 +37,7 @@
+ #define TX_HW_ATTR_TX_CMPLT_REQ BIT(12)
+ #define TX_HW_ATTR_TX_DUMMY_REQ BIT(13)
+ #define TX_HW_ATTR_HOST_ENCRYPT BIT(14)
++#define TX_HW_ATTR_EAPOL_FRAME BIT(15)
+
+ #define TX_HW_ATTR_OFST_SAVE_RETRIES 0
+ #define TX_HW_ATTR_OFST_HEADER_PAD 1