summaryrefslogtreecommitdiffstats
path: root/sys/net80211/ieee80211_node.c
diff options
context:
space:
mode:
authorsam <sam@FreeBSD.org>2009-04-13 20:45:29 +0000
committersam <sam@FreeBSD.org>2009-04-13 20:45:29 +0000
commit6cc0d23c65a14832f34f5ae2b0b7dd9e3a1a7ca8 (patch)
tree8b27c1a353d7eb6be0a9456d7a4cc23fbb4783ac /sys/net80211/ieee80211_node.c
parentbcd3ca9aed0c2a97260e1c0325b87de24b8ca667 (diff)
downloadFreeBSD-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
Diffstat (limited to 'sys/net80211/ieee80211_node.c')
-rw-r--r--sys/net80211/ieee80211_node.c5
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;
OpenPOWER on IntegriCloud