diff options
Diffstat (limited to 'drivers/net/wireless/wl12xx/cmd.c')
-rw-r--r-- | drivers/net/wireless/wl12xx/cmd.c | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/drivers/net/wireless/wl12xx/cmd.c b/drivers/net/wireless/wl12xx/cmd.c index 51be8f7fbb88..287fe95ecb40 100644 --- a/drivers/net/wireless/wl12xx/cmd.c +++ b/drivers/net/wireless/wl12xx/cmd.c | |||
@@ -1112,6 +1112,7 @@ int wl1271_cmd_build_probe_req(struct wl1271 *wl, | |||
1112 | { | 1112 | { |
1113 | struct sk_buff *skb; | 1113 | struct sk_buff *skb; |
1114 | int ret; | 1114 | int ret; |
1115 | u32 rate; | ||
1115 | 1116 | ||
1116 | skb = ieee80211_probereq_get(wl->hw, wl->vif, ssid, ssid_len, | 1117 | skb = ieee80211_probereq_get(wl->hw, wl->vif, ssid, ssid_len, |
1117 | ie, ie_len); | 1118 | ie, ie_len); |
@@ -1122,14 +1123,13 @@ int wl1271_cmd_build_probe_req(struct wl1271 *wl, | |||
1122 | 1123 | ||
1123 | wl1271_dump(DEBUG_SCAN, "PROBE REQ: ", skb->data, skb->len); | 1124 | wl1271_dump(DEBUG_SCAN, "PROBE REQ: ", skb->data, skb->len); |
1124 | 1125 | ||
1126 | rate = wl1271_tx_min_rate_get(wl, wl->bitrate_masks[band]); | ||
1125 | if (band == IEEE80211_BAND_2GHZ) | 1127 | if (band == IEEE80211_BAND_2GHZ) |
1126 | ret = wl1271_cmd_template_set(wl, CMD_TEMPL_CFG_PROBE_REQ_2_4, | 1128 | ret = wl1271_cmd_template_set(wl, CMD_TEMPL_CFG_PROBE_REQ_2_4, |
1127 | skb->data, skb->len, 0, | 1129 | skb->data, skb->len, 0, rate); |
1128 | wl->conf.tx.basic_rate); | ||
1129 | else | 1130 | else |
1130 | ret = wl1271_cmd_template_set(wl, CMD_TEMPL_CFG_PROBE_REQ_5, | 1131 | ret = wl1271_cmd_template_set(wl, CMD_TEMPL_CFG_PROBE_REQ_5, |
1131 | skb->data, skb->len, 0, | 1132 | skb->data, skb->len, 0, rate); |
1132 | wl->conf.tx.basic_rate_5); | ||
1133 | 1133 | ||
1134 | out: | 1134 | out: |
1135 | dev_kfree_skb(skb); | 1135 | dev_kfree_skb(skb); |
@@ -1140,6 +1140,7 @@ struct sk_buff *wl1271_cmd_build_ap_probe_req(struct wl1271 *wl, | |||
1140 | struct sk_buff *skb) | 1140 | struct sk_buff *skb) |
1141 | { | 1141 | { |
1142 | int ret; | 1142 | int ret; |
1143 | u32 rate; | ||
1143 | 1144 | ||
1144 | if (!skb) | 1145 | if (!skb) |
1145 | skb = ieee80211_ap_probereq_get(wl->hw, wl->vif); | 1146 | skb = ieee80211_ap_probereq_get(wl->hw, wl->vif); |
@@ -1148,14 +1149,13 @@ struct sk_buff *wl1271_cmd_build_ap_probe_req(struct wl1271 *wl, | |||
1148 | 1149 | ||
1149 | wl1271_dump(DEBUG_SCAN, "AP PROBE REQ: ", skb->data, skb->len); | 1150 | wl1271_dump(DEBUG_SCAN, "AP PROBE REQ: ", skb->data, skb->len); |
1150 | 1151 | ||
1152 | rate = wl1271_tx_min_rate_get(wl, wl->bitrate_masks[wl->band]); | ||
1151 | if (wl->band == IEEE80211_BAND_2GHZ) | 1153 | if (wl->band == IEEE80211_BAND_2GHZ) |
1152 | ret = wl1271_cmd_template_set(wl, CMD_TEMPL_CFG_PROBE_REQ_2_4, | 1154 | ret = wl1271_cmd_template_set(wl, CMD_TEMPL_CFG_PROBE_REQ_2_4, |
1153 | skb->data, skb->len, 0, | 1155 | skb->data, skb->len, 0, rate); |
1154 | wl->conf.tx.basic_rate); | ||
1155 | else | 1156 | else |
1156 | ret = wl1271_cmd_template_set(wl, CMD_TEMPL_CFG_PROBE_REQ_5, | 1157 | ret = wl1271_cmd_template_set(wl, CMD_TEMPL_CFG_PROBE_REQ_5, |
1157 | skb->data, skb->len, 0, | 1158 | skb->data, skb->len, 0, rate); |
1158 | wl->conf.tx.basic_rate_5); | ||
1159 | 1159 | ||
1160 | if (ret < 0) | 1160 | if (ret < 0) |
1161 | wl1271_error("Unable to set ap probe request template."); | 1161 | wl1271_error("Unable to set ap probe request template."); |
@@ -1448,7 +1448,8 @@ int wl12xx_cmd_add_peer(struct wl1271 *wl, struct ieee80211_sta *sta, u8 hlid) | |||
1448 | sta_rates |= sta->ht_cap.mcs.rx_mask[0] << HW_HT_RATES_OFFSET; | 1448 | sta_rates |= sta->ht_cap.mcs.rx_mask[0] << HW_HT_RATES_OFFSET; |
1449 | 1449 | ||
1450 | cmd->supported_rates = | 1450 | cmd->supported_rates = |
1451 | cpu_to_le32(wl1271_tx_enabled_rates_get(wl, sta_rates)); | 1451 | cpu_to_le32(wl1271_tx_enabled_rates_get(wl, sta_rates, |
1452 | wl->band)); | ||
1452 | 1453 | ||
1453 | wl1271_debug(DEBUG_CMD, "new peer rates=0x%x queues=0x%x", | 1454 | wl1271_debug(DEBUG_CMD, "new peer rates=0x%x queues=0x%x", |
1454 | cmd->supported_rates, sta->uapsd_queues); | 1455 | cmd->supported_rates, sta->uapsd_queues); |