wlcore: send EAPOL frames with voice priority
authorIgal Chernobelsky <igalc@ti.com>
Mon, 10 Feb 2014 11:47:26 +0000 (13:47 +0200)
committerJohn W. Linville <linville@tuxdriver.com>
Thu, 13 Feb 2014 20:20:15 +0000 (15:20 -0500)
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>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/ti/wlcore/tx.c
drivers/net/wireless/ti/wlcore/tx.h

index 9f7921d98036fb93698c6b2aabbed7f5bf9ebfba..38b31a0e9687a04e65f2c4a94e5c0360805f3ef6 100644 (file)
@@ -362,6 +362,10 @@ static void wl1271_tx_fill_hdr(struct wl1271 *wl, struct wl12xx_vif *wlvif,
            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);
index 35489c300da17bfefe3b35fc7515dc58aeeaa196..79cb3ff8b71f576aef0913f0a8828a95e3ede130 100644 (file)
@@ -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