Index: head/sys/dev/bwn/if_bwn.c =================================================================== --- head/sys/dev/bwn/if_bwn.c +++ head/sys/dev/bwn/if_bwn.c @@ -9467,7 +9467,7 @@ struct mbuf *mprot; unsigned int len; uint32_t macctl = 0; - int protdur, rts_rate, rts_rate_fb, ismcast, isshort, rix, type; + int protdur, rts_rate, rts_rate_fb, ismcast, isshort, nrates, type; uint16_t phyctl = 0; uint8_t rate, rate_fb; @@ -9489,11 +9489,12 @@ else if (tp->ucastrate != IEEE80211_FIXED_RATE_NONE) rate = rate_fb = tp->ucastrate; else { - rix = ieee80211_ratectl_rate(ni, NULL, 0); + ieee80211_ratectl_rate(ni, NULL, 0); + nrates = ni->ni_rates.rs_nrates; rate = ni->ni_txrate; - if (rix > 0) - rate_fb = ni->ni_rates.rs_rates[rix - 1] & + if (nrates > 0) + rate_fb = ni->ni_rates.rs_rates[nrates - 1] & IEEE80211_RATE_VAL; else rate_fb = rate;