aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/net/wireless/ti/wl18xx/tx.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/net/wireless/ti/wl18xx/tx.c b/drivers/net/wireless/ti/wl18xx/tx.c
index be1ebd55ac88..3406ffb53325 100644
--- a/drivers/net/wireless/ti/wl18xx/tx.c
+++ b/drivers/net/wireless/ti/wl18xx/tx.c
@@ -30,7 +30,7 @@
30 30
31static 31static
32void wl18xx_get_last_tx_rate(struct wl1271 *wl, struct ieee80211_vif *vif, 32void wl18xx_get_last_tx_rate(struct wl1271 *wl, struct ieee80211_vif *vif,
33 struct ieee80211_tx_rate *rate) 33 u8 band, struct ieee80211_tx_rate *rate)
34{ 34{
35 u8 fw_rate = wl->fw_status->counters.tx_last_rate; 35 u8 fw_rate = wl->fw_status->counters.tx_last_rate;
36 36
@@ -43,6 +43,8 @@ void wl18xx_get_last_tx_rate(struct wl1271 *wl, struct ieee80211_vif *vif,
43 43
44 if (fw_rate <= CONF_HW_RATE_INDEX_54MBPS) { 44 if (fw_rate <= CONF_HW_RATE_INDEX_54MBPS) {
45 rate->idx = fw_rate; 45 rate->idx = fw_rate;
46 if (band == IEEE80211_BAND_5GHZ)
47 rate->idx -= CONF_HW_RATE_INDEX_6MBPS;
46 rate->flags = 0; 48 rate->flags = 0;
47 } else { 49 } else {
48 rate->flags = IEEE80211_TX_RC_MCS; 50 rate->flags = IEEE80211_TX_RC_MCS;
@@ -102,7 +104,8 @@ static void wl18xx_tx_complete_packet(struct wl1271 *wl, u8 tx_stat_byte)
102 * first pass info->control.vif while it's valid, and then fill out 104 * first pass info->control.vif while it's valid, and then fill out
103 * the info->status structures 105 * the info->status structures
104 */ 106 */
105 wl18xx_get_last_tx_rate(wl, info->control.vif, &info->status.rates[0]); 107 wl18xx_get_last_tx_rate(wl, info->control.vif,
108 info->band, &info->status.rates[0]);
106 109
107 info->status.rates[0].count = 1; /* no data about retries */ 110 info->status.rates[0].count = 1; /* no data about retries */
108 info->status.ack_signal = -1; 111 info->status.ack_signal = -1;