55 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			55 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
| 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;
 | |
|  
 | 
