diff options
-rw-r--r-- | drivers/net/wireless/ath/ath5k/base.c | 16 |
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 | /* |