Commit bed483f7 authored by Igal Chernobelsky's avatar Igal Chernobelsky Committed by Luciano Coelho

wlcore: send EAPOLs using minimum basic rate for all roles

Send EAPOLs using minimum basic rate for AP, STA, p2p GO and Client.
The patch fixes p2p connection issue with Realtek device in p2p
certification test 5.1.13 (DEVUT reinvokes Persistent Group).
Signed-off-by: default avatarIgal Chernobelsky <igalc@ti.com>
Signed-off-by: default avatarLuciano Coelho <coelho@ti.com>
parent c68cc0f6
...@@ -310,10 +310,10 @@ static void wl1271_tx_fill_hdr(struct wl1271 *wl, struct wl12xx_vif *wlvif, ...@@ -310,10 +310,10 @@ static void wl1271_tx_fill_hdr(struct wl1271 *wl, struct wl12xx_vif *wlvif,
* send them with AP rate policies (EAPOLs are an exception), * send them with AP rate policies (EAPOLs are an exception),
* otherwise use default basic rates * otherwise use default basic rates
*/ */
if (control->flags & IEEE80211_TX_CTL_NO_CCK_RATE) if (skb->protocol == cpu_to_be16(ETH_P_PAE))
rate_idx = wlvif->sta.p2p_rate_idx;
else if (skb->protocol == cpu_to_be16(ETH_P_PAE))
rate_idx = wlvif->sta.basic_rate_idx; rate_idx = wlvif->sta.basic_rate_idx;
else if (control->flags & IEEE80211_TX_CTL_NO_CCK_RATE)
rate_idx = wlvif->sta.p2p_rate_idx;
else if (control->control.sta) else if (control->control.sta)
rate_idx = wlvif->sta.ap_rate_idx; rate_idx = wlvif->sta.ap_rate_idx;
else else
...@@ -321,7 +321,9 @@ static void wl1271_tx_fill_hdr(struct wl1271 *wl, struct wl12xx_vif *wlvif, ...@@ -321,7 +321,9 @@ static void wl1271_tx_fill_hdr(struct wl1271 *wl, struct wl12xx_vif *wlvif,
} else { } else {
if (hlid == wlvif->ap.global_hlid) if (hlid == wlvif->ap.global_hlid)
rate_idx = wlvif->ap.mgmt_rate_idx; rate_idx = wlvif->ap.mgmt_rate_idx;
else if (hlid == wlvif->ap.bcast_hlid) else if (hlid == wlvif->ap.bcast_hlid ||
skb->protocol == cpu_to_be16(ETH_P_PAE))
/* send AP bcast and EAPOLs using the min basic rate */
rate_idx = wlvif->ap.bcast_rate_idx; rate_idx = wlvif->ap.bcast_rate_idx;
else else
rate_idx = wlvif->ap.ucast_rate_idx[ac]; rate_idx = wlvif->ap.ucast_rate_idx[ac];
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment