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 2011-03-03 20:41:59 +00:00
parent 75c35db69e
commit d5b67b264d

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);