diff options
author | sam <sam@FreeBSD.org> | 2009-02-19 04:46:09 +0000 |
---|---|---|
committer | sam <sam@FreeBSD.org> | 2009-02-19 04:46:09 +0000 |
commit | 6865ea1cbd4baf025546ac34c65808fe3dadd9f4 (patch) | |
tree | d49bad29c7ac5720e9b4a5dd9dc7cbec8cefd68f | |
parent | e092563f43c0d85d32cfa3385af35c502368cc3e (diff) | |
download | FreeBSD-src-6865ea1cbd4baf025546ac34c65808fe3dadd9f4.zip FreeBSD-src-6865ea1cbd4baf025546ac34c65808fe3dadd9f4.tar.gz |
o consolidate loops to eliminate assumptions about ordering of modes
o replace 0x80 by IEEE80211_RATE_MCS
-rw-r--r-- | sys/net80211/ieee80211_proto.c | 23 |
1 files changed, 10 insertions, 13 deletions
diff --git a/sys/net80211/ieee80211_proto.c b/sys/net80211/ieee80211_proto.c index b31d3af..3268624 100644 --- a/sys/net80211/ieee80211_proto.c +++ b/sys/net80211/ieee80211_proto.c @@ -182,22 +182,19 @@ ieee80211_proto_vattach(struct ieee80211vap *vap) * max retry count. These settings can be changed by the * driver and/or user applications. */ - for (i = IEEE80211_MODE_11A; i < IEEE80211_MODE_11NA; i++) { + for (i = IEEE80211_MODE_11A; i < IEEE80211_MODE_MAX; i++) { const struct ieee80211_rateset *rs = &ic->ic_sup_rates[i]; vap->iv_txparms[i].ucastrate = IEEE80211_FIXED_RATE_NONE; - /* NB: we default to min supported rate for channel */ - vap->iv_txparms[i].mgmtrate = - rs->rs_rates[0] & IEEE80211_RATE_VAL; - vap->iv_txparms[i].mcastrate = - rs->rs_rates[0] & IEEE80211_RATE_VAL; - vap->iv_txparms[i].maxretry = IEEE80211_TXMAX_DEFAULT; - } - for (; i < IEEE80211_MODE_MAX; i++) { - vap->iv_txparms[i].ucastrate = IEEE80211_FIXED_RATE_NONE; - /* NB: default to MCS 0 */ - vap->iv_txparms[i].mgmtrate = 0 | 0x80; - vap->iv_txparms[i].mcastrate = 0 | 0x80; + if (i == IEEE80211_MODE_11NA || i == IEEE80211_MODE_11NG) { + vap->iv_txparms[i].mgmtrate = 0 | IEEE80211_RATE_MCS; + vap->iv_txparms[i].mcastrate = 0 | IEEE80211_RATE_MCS; + } else { + vap->iv_txparms[i].mgmtrate = + rs->rs_rates[0] & IEEE80211_RATE_VAL; + vap->iv_txparms[i].mcastrate = + rs->rs_rates[0] & IEEE80211_RATE_VAL; + } vap->iv_txparms[i].maxretry = IEEE80211_TXMAX_DEFAULT; } vap->iv_roaming = IEEE80211_ROAMING_AUTO; |