aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/net/wireless/ath/ath5k/base.c16
1 files changed, 6 insertions, 10 deletions
diff --git a/drivers/net/wireless/ath/ath5k/base.c b/drivers/net/wireless/ath/ath5k/base.c
index 4d7f21ee111c..753662f98f75 100644
--- a/drivers/net/wireless/ath/ath5k/base.c
+++ b/drivers/net/wireless/ath/ath5k/base.c
@@ -1580,21 +1580,14 @@ ath5k_tx_frame_completed(struct ath5k_softc *sc, struct sk_buff *skb,
1580 info = IEEE80211_SKB_CB(skb); 1580 info = IEEE80211_SKB_CB(skb);
1581 1581
1582 ieee80211_tx_info_clear_status(info); 1582 ieee80211_tx_info_clear_status(info);
1583 for (i = 0; i < 4; i++) { 1583 for (i = 0; i <= ts->ts_final_idx; i++) {
1584 struct ieee80211_tx_rate *r = 1584 struct ieee80211_tx_rate *r =
1585 &info->status.rates[i]; 1585 &info->status.rates[i];
1586 1586
1587 if (ts->ts_rate[i]) { 1587 r->count = ts->ts_retry[i];
1588 r->idx = ath5k_hw_to_driver_rix(sc, ts->ts_rate[i]);
1589 r->count = ts->ts_retry[i];
1590 } else {
1591 r->idx = -1;
1592 r->count = 0;
1593 }
1594 } 1588 }
1595 1589
1596 /* count the successful attempt as well */ 1590 info->status.rates[ts->ts_final_idx + 1].idx = -1;
1597 info->status.rates[ts->ts_final_idx].count++;
1598 1591
1599 if (unlikely(ts->ts_status)) { 1592 if (unlikely(ts->ts_status)) {
1600 sc->stats.ack_fail++; 1593 sc->stats.ack_fail++;
@@ -1609,6 +1602,9 @@ ath5k_tx_frame_completed(struct ath5k_softc *sc, struct sk_buff *skb,
1609 } else { 1602 } else {
1610 info->flags |= IEEE80211_TX_STAT_ACK; 1603 info->flags |= IEEE80211_TX_STAT_ACK;
1611 info->status.ack_signal = ts->ts_rssi; 1604 info->status.ack_signal = ts->ts_rssi;
1605
1606 /* count the successful attempt as well */
1607 info->status.rates[ts->ts_final_idx].count++;
1612 } 1608 }
1613 1609
1614 /* 1610 /*