diff options
author | sam <sam@FreeBSD.org> | 2009-04-13 20:45:29 +0000 |
---|---|---|
committer | sam <sam@FreeBSD.org> | 2009-04-13 20:45:29 +0000 |
commit | 6cc0d23c65a14832f34f5ae2b0b7dd9e3a1a7ca8 (patch) | |
tree | 8b27c1a353d7eb6be0a9456d7a4cc23fbb4783ac | |
parent | bcd3ca9aed0c2a97260e1c0325b87de24b8ca667 (diff) | |
download | FreeBSD-src-6cc0d23c65a14832f34f5ae2b0b7dd9e3a1a7ca8.zip FreeBSD-src-6cc0d23c65a14832f34f5ae2b0b7dd9e3a1a7ca8.tar.gz |
fix txparms setup for 108G sta's: ieee80211_iserp_rateset does not
identify a station operating in turbo-boost mode because it has a
pure ofdm rate set; add an explicit check for the channel type
instead of depending on IEEE80211_NODE_ERP being set
-rw-r--r-- | sys/net80211/ieee80211_node.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/sys/net80211/ieee80211_node.c b/sys/net80211/ieee80211_node.c index 1632b19..2f39eb8 100644 --- a/sys/net80211/ieee80211_node.c +++ b/sys/net80211/ieee80211_node.c @@ -237,16 +237,17 @@ node_setuptxparms(struct ieee80211_node *ni) else mode = IEEE80211_MODE_11NG; } else { /* legacy rate handling */ - /* 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_HALF(ni->ni_chan)) mode = IEEE80211_MODE_HALF; else if (IEEE80211_IS_CHAN_QUARTER(ni->ni_chan)) mode = IEEE80211_MODE_QUARTER; + /* NB: 108A should be handled as 11a */ else if (IEEE80211_IS_CHAN_A(ni->ni_chan)) mode = IEEE80211_MODE_11A; - else if (ni->ni_flags & IEEE80211_NODE_ERP) + else if (IEEE80211_IS_CHAN_108G(ni->ni_chan) || + (ni->ni_flags & IEEE80211_NODE_ERP)) mode = IEEE80211_MODE_11G; else mode = IEEE80211_MODE_11B; |