summaryrefslogtreecommitdiffstats
path: root/sys/dev
diff options
context:
space:
mode:
authoradrian <adrian@FreeBSD.org>2012-10-31 06:35:50 +0000
committeradrian <adrian@FreeBSD.org>2012-10-31 06:35:50 +0000
commit5d8a47063abbe28e44dbd610088cc0b58d4354d4 (patch)
tree5d65b23b07a260c3e9a74b3a37e66111e0b1971f /sys/dev
parent2ef1c4bedf3c641afa094dc1884ae414c7b3a817 (diff)
downloadFreeBSD-src-5d8a47063abbe28e44dbd610088cc0b58d4354d4.zip
FreeBSD-src-5d8a47063abbe28e44dbd610088cc0b58d4354d4.tar.gz
I've had some feedback that CCK rates are more reliable than MCS 0
in some very degenerate conditions. However, until ath_rate_form_aggr() is taught to not form aggregates if ANY selected rate is non-MCS, this can't yet be enabled. So, just add a comment.
Diffstat (limited to 'sys/dev')
-rw-r--r--sys/dev/ath/ath_rate/sample/sample.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/sys/dev/ath/ath_rate/sample/sample.c b/sys/dev/ath/ath_rate/sample/sample.c
index 1ec9b53..54360f5 100644
--- a/sys/dev/ath/ath_rate/sample/sample.c
+++ b/sys/dev/ath/ath_rate/sample/sample.c
@@ -272,12 +272,29 @@ pick_sample_rate(struct sample_softc *ssc , struct ath_node *an,
continue;
}
+ /*
+ * The following code stops trying to sample
+ * non-MCS rates when speaking to an MCS node.
+ * However, at least for CCK rates in 2.4GHz mode,
+ * the non-MCS rates MAY actually provide better
+ * PER at the very far edge of reception.
+ *
+ * However! Until ath_rate_form_aggr() grows
+ * some logic to not form aggregates if the
+ * selected rate is non-MCS, this won't work.
+ *
+ * So don't disable this code until you've taught
+ * ath_rate_form_aggr() to drop out if any of
+ * the selected rates are non-MCS.
+ */
+#if 1
/* if the node is HT and the rate isn't HT, don't bother sample */
if ((an->an_node.ni_flags & IEEE80211_NODE_HT) &&
(rt->info[rix].phy != IEEE80211_T_HT)) {
mask &= ~((uint64_t) 1<<rix);
goto nextrate;
}
+#endif
/* this bit-rate is always worse than the current one */
if (sn->stats[size_bin][rix].perfect_tx_time > current_tt) {
OpenPOWER on IntegriCloud