aboutsummaryrefslogtreecommitdiffstats
path: root/net/mac80211
diff options
context:
space:
mode:
authorLorenzo Bianconi <lorenzo.bianconi83@gmail.com>2013-08-27 10:59:47 -0400
committerJohannes Berg <johannes.berg@intel.com>2013-09-26 07:27:12 -0400
commit37feb7e2fb5eea361495f529f2a150ea3a34dd41 (patch)
treed982186c8ad90e597bf7d8c38a6f7c9d097b5fe7 /net/mac80211
parent45966aebad40dbecb23ee828a8c78870380f5811 (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.c23
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 */