summaryrefslogtreecommitdiffstats
path: root/sys/net80211/ieee80211_node.c
diff options
context:
space:
mode:
authorsam <sam@FreeBSD.org>2006-12-27 18:46:18 +0000
committersam <sam@FreeBSD.org>2006-12-27 18:46:18 +0000
commit4442f89b49a898383c874def50a11aab97b03845 (patch)
tree8bd925a7f6c33cd28325df02b1a6153b8b091d2d /sys/net80211/ieee80211_node.c
parent03269f3b4c923667476d52b5c6c3711ae678d017 (diff)
downloadFreeBSD-src-4442f89b49a898383c874def50a11aab97b03845.zip
FreeBSD-src-4442f89b49a898383c874def50a11aab97b03845.tar.gz
First cut at half/quarter-rate 11a channel support (e.g. for use
in the Public Safety Band): o add channel flags to identify half/quarter-rate operation o add rate sets (need to check spec on 4Mb/s in 1/4 rate) o add if_media definitions for new rates o split net80211 channel setup out into ieee80211_chan_init o fixup ieee80211_mhz2ieee and ieee80211_ieee2mhz to understand half/quarter rate channels: note we temporarily use a nonstandard/hack numbering that avoids overlap with 2.4G channels because we don't (yet) have enough state to identify and/or map overlapping channel sets o fixup ieee80211_ifmedia_init so it can be called post attach and will recalculate the channel list and associated state; this enables changing channel-related state like the regulatory domain after attach (will be needed for 802.11d support too) o add ieee80211_get_suprates to return a reference to the supported rate set for a given channel o add 3, 4.5, and 27 MB/s tx rates to rate <-> media conversion routines o const-poison channel arg to ieee80211_chan2mode
Diffstat (limited to 'sys/net80211/ieee80211_node.c')
-rw-r--r--sys/net80211/ieee80211_node.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/sys/net80211/ieee80211_node.c b/sys/net80211/ieee80211_node.c
index d9c88c9..700d4b0 100644
--- a/sys/net80211/ieee80211_node.c
+++ b/sys/net80211/ieee80211_node.c
@@ -230,7 +230,7 @@ ieee80211_set_chan(struct ieee80211com *ic,
if (chan == IEEE80211_CHAN_ANYC) /* XXX while scanning */
chan = ic->ic_curchan;
ni->ni_chan = chan;
- ni->ni_rates = ic->ic_sup_rates[ieee80211_chan2mode(ic, chan)];
+ ni->ni_rates = *ieee80211_get_suprates(ic, chan);
}
/*
@@ -344,8 +344,7 @@ ieee80211_next_scan(struct ieee80211com *ic)
* XXX drivers should do this as needed,
* XXX for now maintain compatibility
*/
- ic->ic_bss->ni_rates =
- ic->ic_sup_rates[ieee80211_chan2mode(ic, chan)];
+ ic->ic_bss->ni_rates = *ieee80211_get_suprates(ic, chan);
ieee80211_new_state(ic, IEEE80211_S_SCAN, -1);
return 1;
}
OpenPOWER on IntegriCloud