diff options
-rw-r--r-- | drivers/net/wireless/ti/wl18xx/tx.c | 7 |
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 | ||
31 | static | 31 | static |
32 | void wl18xx_get_last_tx_rate(struct wl1271 *wl, struct ieee80211_vif *vif, | 32 | void 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; |