aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ti/wlcore
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/wireless/ti/wlcore')
-rw-r--r--drivers/net/wireless/ti/wlcore/tx.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/drivers/net/wireless/ti/wlcore/tx.c b/drivers/net/wireless/ti/wlcore/tx.c
index 6a28aeecf004..0bdc9500068e 100644
--- a/drivers/net/wireless/ti/wlcore/tx.c
+++ b/drivers/net/wireless/ti/wlcore/tx.c
@@ -310,10 +310,10 @@ static void wl1271_tx_fill_hdr(struct wl1271 *wl, struct wl12xx_vif *wlvif,
310 * send them with AP rate policies (EAPOLs are an exception), 310 * send them with AP rate policies (EAPOLs are an exception),
311 * otherwise use default basic rates 311 * otherwise use default basic rates
312 */ 312 */
313 if (control->flags & IEEE80211_TX_CTL_NO_CCK_RATE) 313 if (skb->protocol == cpu_to_be16(ETH_P_PAE))
314 rate_idx = wlvif->sta.p2p_rate_idx;
315 else if (skb->protocol == cpu_to_be16(ETH_P_PAE))
316 rate_idx = wlvif->sta.basic_rate_idx; 314 rate_idx = wlvif->sta.basic_rate_idx;
315 else if (control->flags & IEEE80211_TX_CTL_NO_CCK_RATE)
316 rate_idx = wlvif->sta.p2p_rate_idx;
317 else if (control->control.sta) 317 else if (control->control.sta)
318 rate_idx = wlvif->sta.ap_rate_idx; 318 rate_idx = wlvif->sta.ap_rate_idx;
319 else 319 else
@@ -321,7 +321,9 @@ static void wl1271_tx_fill_hdr(struct wl1271 *wl, struct wl12xx_vif *wlvif,
321 } else { 321 } else {
322 if (hlid == wlvif->ap.global_hlid) 322 if (hlid == wlvif->ap.global_hlid)
323 rate_idx = wlvif->ap.mgmt_rate_idx; 323 rate_idx = wlvif->ap.mgmt_rate_idx;
324 else if (hlid == wlvif->ap.bcast_hlid) 324 else if (hlid == wlvif->ap.bcast_hlid ||
325 skb->protocol == cpu_to_be16(ETH_P_PAE))
326 /* send AP bcast and EAPOLs using the min basic rate */
325 rate_idx = wlvif->ap.bcast_rate_idx; 327 rate_idx = wlvif->ap.bcast_rate_idx;
326 else 328 else
327 rate_idx = wlvif->ap.ucast_rate_idx[ac]; 329 rate_idx = wlvif->ap.ucast_rate_idx[ac];