summaryrefslogtreecommitdiffstats
path: root/net/mac80211
diff options
context:
space:
mode:
authorThomas Huehn <thomas.huehn@evernet-eg.de>2016-12-14 20:47:03 +0100
committerJohannes Berg <johannes.berg@intel.com>2016-12-15 11:07:53 +0100
commit38252e9ef68936f104a5791740f4ca2f81510a33 (patch)
tree47786a16db43ea73de011ab31e97a6efa612c1c3 /net/mac80211
parent73b16589b859130eb8b49882e71c7cd1caa5986d (diff)
downloadlinux-38252e9ef68936f104a5791740f4ca2f81510a33.tar.gz
linux-38252e9ef68936f104a5791740f4ca2f81510a33.tar.xz
mac80211: minstrel: avoid port control frames for sampling
Makes connections more reliable Signed-off-by: Thomas Huehn <thomas.huehn@evernet-eg.de> Signed-off-by: Felix Fietkau <nbd@nbd.name> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/mac80211')
-rw-r--r--net/mac80211/rc80211_minstrel.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/net/mac80211/rc80211_minstrel.c b/net/mac80211/rc80211_minstrel.c
index 11a4cc393a98..3ebe4405a2d4 100644
--- a/net/mac80211/rc80211_minstrel.c
+++ b/net/mac80211/rc80211_minstrel.c
@@ -367,6 +367,11 @@ minstrel_get_rate(void *priv, struct ieee80211_sta *sta,
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))
+ return;
+
delta = (mi->total_packets * sampling_ratio / 100) -
(mi->sample_packets + mi->sample_deferred / 2);