aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/wl12xx
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/wireless/wl12xx')
-rw-r--r--drivers/net/wireless/wl12xx/cmd.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/drivers/net/wireless/wl12xx/cmd.c b/drivers/net/wireless/wl12xx/cmd.c
index d8c391681041..d3e938012ac2 100644
--- a/drivers/net/wireless/wl12xx/cmd.c
+++ b/drivers/net/wireless/wl12xx/cmd.c
@@ -1415,10 +1415,12 @@ out_free:
1415out: 1415out:
1416 return ret; 1416 return ret;
1417} 1417}
1418
1418int wl12xx_cmd_add_peer(struct wl1271 *wl, struct ieee80211_sta *sta, u8 hlid) 1419int wl12xx_cmd_add_peer(struct wl1271 *wl, struct ieee80211_sta *sta, u8 hlid)
1419{ 1420{
1420 struct wl12xx_cmd_add_peer *cmd; 1421 struct wl12xx_cmd_add_peer *cmd;
1421 int ret; 1422 int ret;
1423 u32 sta_rates;
1422 1424
1423 wl1271_debug(DEBUG_CMD, "cmd add peer %d", (int)hlid); 1425 wl1271_debug(DEBUG_CMD, "cmd add peer %d", (int)hlid);
1424 1426
@@ -1437,8 +1439,12 @@ int wl12xx_cmd_add_peer(struct wl1271 *wl, struct ieee80211_sta *sta, u8 hlid)
1437 cmd->hlid = hlid; 1439 cmd->hlid = hlid;
1438 cmd->wmm = sta->wme ? 1 : 0; 1440 cmd->wmm = sta->wme ? 1 : 0;
1439 1441
1440 cmd->supported_rates = cpu_to_le32(wl1271_tx_enabled_rates_get(wl, 1442 sta_rates = sta->supp_rates[wl->band];
1441 sta->supp_rates[wl->band])); 1443 if (sta->ht_cap.ht_supported)
1444 sta_rates |= sta->ht_cap.mcs.rx_mask[0] << HW_HT_RATES_OFFSET;
1445
1446 cmd->supported_rates =
1447 cpu_to_le32(wl1271_tx_enabled_rates_get(wl, sta_rates));
1442 1448
1443 wl1271_debug(DEBUG_CMD, "new peer rates: 0x%x", cmd->supported_rates); 1449 wl1271_debug(DEBUG_CMD, "new peer rates: 0x%x", cmd->supported_rates);
1444 1450