[mac80211]: add add new firmware support and additional fixes for wl18xx
[15.05/openwrt.git] / package / kernel / mac80211 / patches / 910-wlcore-send-EAPOL-frames-with-voice-priority.patch
1 Send EAPOL frames with voice priority by setting (the new)
2 TX_HW_ATTR_EAPOL_FRAME bit in tx attribute.
3
4 Sending EAPOL with voice priority fixes re-key
5 timeout issues during heavy traffic.
6
7 Signed-off-by: Igal Chernobelsky <igalc@ti.com>
8 Signed-off-by: Eliad Peller <eliad@wizery.com>
9
10 ---
11 drivers/net/wireless/ti/wlcore/tx.c | 4 ++++
12  drivers/net/wireless/ti/wlcore/tx.h | 1 +
13  2 files changed, 5 insertions(+)
14
15 --- a/drivers/net/wireless/ti/wlcore/tx.c
16 +++ b/drivers/net/wireless/ti/wlcore/tx.c
17 @@ -362,6 +362,10 @@ static void wl1271_tx_fill_hdr(struct wl
18             ieee80211_has_protected(frame_control))
19                 tx_attr |= TX_HW_ATTR_HOST_ENCRYPT;
20  
21 +       /* send EAPOL frames as voice */
22 +       if (control->control.flags & IEEE80211_TX_CTRL_PORT_CTRL_PROTO)
23 +               tx_attr |= TX_HW_ATTR_EAPOL_FRAME;
24 +
25         desc->tx_attr = cpu_to_le16(tx_attr);
26  
27         wlcore_hw_set_tx_desc_csum(wl, desc, skb);
28 --- a/drivers/net/wireless/ti/wlcore/tx.h
29 +++ b/drivers/net/wireless/ti/wlcore/tx.h
30 @@ -37,6 +37,7 @@
31  #define TX_HW_ATTR_TX_CMPLT_REQ          BIT(12)
32  #define TX_HW_ATTR_TX_DUMMY_REQ          BIT(13)
33  #define TX_HW_ATTR_HOST_ENCRYPT          BIT(14)
34 +#define TX_HW_ATTR_EAPOL_FRAME           BIT(15)
35  
36  #define TX_HW_ATTR_OFST_SAVE_RETRIES     0
37  #define TX_HW_ATTR_OFST_HEADER_PAD       1