| From: Felix Fietkau <nbd@nbd.name> |
| Date: Fri, 22 Jan 2021 18:21:13 +0100 |
| Subject: [PATCH] mac80211: minstrel_ht: update total packets counter in tx |
| status path |
| |
| Keep the update in one place and prepare for further rework |
| |
| Signed-off-by: Felix Fietkau <nbd@nbd.name> |
| --- |
| |
| --- a/net/mac80211/rc80211_minstrel_ht.c |
| +++ b/net/mac80211/rc80211_minstrel_ht.c |
| @@ -1092,6 +1092,16 @@ minstrel_ht_tx_status(void *priv, struct |
| info->status.ampdu_len = 1; |
| } |
| |
| + /* wraparound */ |
| + if (mi->total_packets >= ~0 - info->status.ampdu_len) { |
| + mi->total_packets = 0; |
| + mi->sample_packets = 0; |
| + } |
| + |
| + mi->total_packets += info->status.ampdu_len; |
| + if (info->flags & IEEE80211_TX_CTL_RATE_CTRL_PROBE) |
| + mi->sample_packets += info->status.ampdu_len; |
| + |
| mi->ampdu_packets++; |
| mi->ampdu_len += info->status.ampdu_len; |
| |
| @@ -1103,9 +1113,6 @@ minstrel_ht_tx_status(void *priv, struct |
| mi->sample_count--; |
| } |
| |
| - if (info->flags & IEEE80211_TX_CTL_RATE_CTRL_PROBE) |
| - mi->sample_packets += info->status.ampdu_len; |
| - |
| if (mi->sample_mode != MINSTREL_SAMPLE_IDLE) |
| rate_sample = minstrel_get_ratestats(mi, mi->sample_rate); |
| |
| @@ -1503,14 +1510,6 @@ minstrel_ht_get_rate(void *priv, struct |
| else |
| sample_idx = minstrel_get_sample_rate(mp, mi); |
| |
| - mi->total_packets++; |
| - |
| - /* wraparound */ |
| - if (mi->total_packets == ~0) { |
| - mi->total_packets = 0; |
| - mi->sample_packets = 0; |
| - } |
| - |
| if (sample_idx < 0) |
| return; |
| |