diff options
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.patch | 37 |
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 |