diff options
author | adrian <adrian@FreeBSD.org> | 2012-10-31 06:35:50 +0000 |
---|---|---|
committer | adrian <adrian@FreeBSD.org> | 2012-10-31 06:35:50 +0000 |
commit | 5d8a47063abbe28e44dbd610088cc0b58d4354d4 (patch) | |
tree | 5d65b23b07a260c3e9a74b3a37e66111e0b1971f /sys/dev | |
parent | 2ef1c4bedf3c641afa094dc1884ae414c7b3a817 (diff) | |
download | FreeBSD-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.c | 17 |
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) { |