diff options
author | sam <sam@FreeBSD.org> | 2009-01-29 23:11:18 +0000 |
---|---|---|
committer | sam <sam@FreeBSD.org> | 2009-01-29 23:11:18 +0000 |
commit | 49cefc1300aa8e48d53ad9448df13a6e24eb27a0 (patch) | |
tree | d73017b63199bf1fa8f5c7ddaf5e7b4ce449c3e3 /sys/net80211 | |
parent | 5fee012a8eac634a09959e77fe8a3e7d036e7aea (diff) | |
download | FreeBSD-src-49cefc1300aa8e48d53ad9448df13a6e24eb27a0.zip FreeBSD-src-49cefc1300aa8e48d53ad9448df13a6e24eb27a0.tar.gz |
set ni_txparms for static turbo mode
Diffstat (limited to 'sys/net80211')
-rw-r--r-- | sys/net80211/ieee80211_node.c | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/sys/net80211/ieee80211_node.c b/sys/net80211/ieee80211_node.c index 8aa9770..088dbbc 100644 --- a/sys/net80211/ieee80211_node.c +++ b/sys/net80211/ieee80211_node.c @@ -227,20 +227,25 @@ static void node_setuptxparms(struct ieee80211_node *ni) { struct ieee80211vap *vap = ni->ni_vap; + enum ieee80211_phymode mode; if (ni->ni_flags & IEEE80211_NODE_HT) { if (IEEE80211_IS_CHAN_5GHZ(ni->ni_chan)) - ni->ni_txparms = &vap->iv_txparms[IEEE80211_MODE_11NA]; + mode = IEEE80211_MODE_11NA; else - ni->ni_txparms = &vap->iv_txparms[IEEE80211_MODE_11NG]; + mode = IEEE80211_MODE_11NG; } else { /* legacy rate handling */ - if (IEEE80211_IS_CHAN_A(ni->ni_chan)) - ni->ni_txparms = &vap->iv_txparms[IEEE80211_MODE_11A]; + /* NB: 108A/108G should be handled as 11a/11g respectively */ + if (IEEE80211_IS_CHAN_ST(ni->ni_chan)) + mode = IEEE80211_MODE_STURBO_A; + else if (IEEE80211_IS_CHAN_A(ni->ni_chan)) + mode = IEEE80211_MODE_11A; else if (ni->ni_flags & IEEE80211_NODE_ERP) - ni->ni_txparms = &vap->iv_txparms[IEEE80211_MODE_11G]; + mode = IEEE80211_MODE_11G; else - ni->ni_txparms = &vap->iv_txparms[IEEE80211_MODE_11B]; + mode = IEEE80211_MODE_11B; } + ni->ni_txparms = &vap->iv_txparms[mode]; } /* |