diff options
| author | Lorenzo Bianconi <lorenzo.bianconi83@gmail.com> | 2013-08-27 16:59:47 +0200 | 
|---|---|---|
| committer | Johannes Berg <johannes.berg@intel.com> | 2013-09-26 13:27:12 +0200 | 
| commit | 37feb7e2fb5eea361495f529f2a150ea3a34dd41 (patch) | |
| tree | d982186c8ad90e597bf7d8c38a6f7c9d097b5fe7 | |
| parent | 45966aebad40dbecb23ee828a8c78870380f5811 (diff) | |
mac80211: do not override fixed_rate_idx in minstrel_ht_update_stats
Do not override max_tp_rate, max_tp_rate2 and max_prob_rate configured
according to fixed_rate in minstrel_ht_update_stats throughput computation
Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi83@gmail.com>
Acked-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
| -rw-r--r-- | net/mac80211/rc80211_minstrel_ht.c | 23 | 
1 files changed, 13 insertions, 10 deletions
| diff --git a/net/mac80211/rc80211_minstrel_ht.c b/net/mac80211/rc80211_minstrel_ht.c index 7c323f27ba23..5d60779a0c1b 100644 --- a/net/mac80211/rc80211_minstrel_ht.c +++ b/net/mac80211/rc80211_minstrel_ht.c @@ -365,6 +365,14 @@ minstrel_ht_update_stats(struct minstrel_priv *mp, struct minstrel_ht_sta *mi)  		}  	} +#ifdef CONFIG_MAC80211_DEBUGFS +	/* use fixed index if set */ +	if (mp->fixed_rate_idx != -1) { +		mi->max_tp_rate = mp->fixed_rate_idx; +		mi->max_tp_rate2 = mp->fixed_rate_idx; +		mi->max_prob_rate = mp->fixed_rate_idx; +	} +#endif  	mi->stats_update = jiffies;  } @@ -774,6 +782,11 @@ minstrel_ht_get_rate(void *priv, struct ieee80211_sta *sta, void *priv_sta,  	info->flags |= mi->tx_flags;  	minstrel_ht_check_cck_shortpreamble(mp, mi, txrc->short_preamble); +#ifdef CONFIG_MAC80211_DEBUGFS +	if (mp->fixed_rate_idx != -1) +		return; +#endif +  	/* Don't use EAPOL frames for sampling on non-mrr hw */  	if (mp->hw->max_rates == 1 &&  	    (info->control.flags & IEEE80211_TX_CTRL_PORT_CTRL_PROTO)) @@ -781,16 +794,6 @@ minstrel_ht_get_rate(void *priv, struct ieee80211_sta *sta, void *priv_sta,  	else  		sample_idx = minstrel_get_sample_rate(mp, mi); -#ifdef CONFIG_MAC80211_DEBUGFS -	/* use fixed index if set */ -	if (mp->fixed_rate_idx != -1) { -		mi->max_tp_rate = mp->fixed_rate_idx; -		mi->max_tp_rate2 = mp->fixed_rate_idx; -		mi->max_prob_rate = mp->fixed_rate_idx; -		sample_idx = -1; -	} -#endif -  	mi->total_packets++;  	/* wraparound */ | 
