diff options
author | Lorenzo Bianconi <lorenzo.bianconi83@gmail.com> | 2013-08-27 10:59:47 -0400 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2013-09-26 07:27:12 -0400 |
commit | 37feb7e2fb5eea361495f529f2a150ea3a34dd41 (patch) | |
tree | d982186c8ad90e597bf7d8c38a6f7c9d097b5fe7 /net/mac80211 | |
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>
Diffstat (limited to 'net/mac80211')
-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) | |||
365 | } | 365 | } |
366 | } | 366 | } |
367 | 367 | ||
368 | #ifdef CONFIG_MAC80211_DEBUGFS | ||
369 | /* use fixed index if set */ | ||
370 | if (mp->fixed_rate_idx != -1) { | ||
371 | mi->max_tp_rate = mp->fixed_rate_idx; | ||
372 | mi->max_tp_rate2 = mp->fixed_rate_idx; | ||
373 | mi->max_prob_rate = mp->fixed_rate_idx; | ||
374 | } | ||
375 | #endif | ||
368 | 376 | ||
369 | mi->stats_update = jiffies; | 377 | mi->stats_update = jiffies; |
370 | } | 378 | } |
@@ -774,6 +782,11 @@ minstrel_ht_get_rate(void *priv, struct ieee80211_sta *sta, void *priv_sta, | |||
774 | info->flags |= mi->tx_flags; | 782 | info->flags |= mi->tx_flags; |
775 | minstrel_ht_check_cck_shortpreamble(mp, mi, txrc->short_preamble); | 783 | minstrel_ht_check_cck_shortpreamble(mp, mi, txrc->short_preamble); |
776 | 784 | ||
785 | #ifdef CONFIG_MAC80211_DEBUGFS | ||
786 | if (mp->fixed_rate_idx != -1) | ||
787 | return; | ||
788 | #endif | ||
789 | |||
777 | /* Don't use EAPOL frames for sampling on non-mrr hw */ | 790 | /* Don't use EAPOL frames for sampling on non-mrr hw */ |
778 | if (mp->hw->max_rates == 1 && | 791 | if (mp->hw->max_rates == 1 && |
779 | (info->control.flags & IEEE80211_TX_CTRL_PORT_CTRL_PROTO)) | 792 | (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, | |||
781 | else | 794 | else |
782 | sample_idx = minstrel_get_sample_rate(mp, mi); | 795 | sample_idx = minstrel_get_sample_rate(mp, mi); |
783 | 796 | ||
784 | #ifdef CONFIG_MAC80211_DEBUGFS | ||
785 | /* use fixed index if set */ | ||
786 | if (mp->fixed_rate_idx != -1) { | ||
787 | mi->max_tp_rate = mp->fixed_rate_idx; | ||
788 | mi->max_tp_rate2 = mp->fixed_rate_idx; | ||
789 | mi->max_prob_rate = mp->fixed_rate_idx; | ||
790 | sample_idx = -1; | ||
791 | } | ||
792 | #endif | ||
793 | |||
794 | mi->total_packets++; | 797 | mi->total_packets++; |
795 | 798 | ||
796 | /* wraparound */ | 799 | /* wraparound */ |