The sample rate module currently does the slightly wrong thing when

determining whether to use MRR or not.

It uses the 11g protection mode when calculating 11n related stuff, rather
than checking the 11n protection mode.

Furthermore, the 11n chipsets can quite happily handle multi-rate retry w/
protection; the TX path and rate control modules need to be taught about
that.
This commit is contained in:
Adrian Chadd 2011-03-03 20:41:59 +00:00
parent 3a4bc25691
commit 5fb8c8d60c
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=219252

View File

@ -273,6 +273,7 @@ ath_rate_findrate(struct ath_softc *sc, struct ath_node *an,
goto done;
}
/* XXX TODO: this doesn't know about 11gn vs 11g protection; teach it */
mrr = sc->sc_mrretry && !(ic->ic_flags & IEEE80211_F_USEPROT);
best_rix = pick_best_rate(sn, rt, size_bin, !mrr);