summaryrefslogtreecommitdiffstats
path: root/sys/net80211/ieee80211_proto.c
diff options
context:
space:
mode:
authorsam <sam@FreeBSD.org>2007-09-17 19:07:24 +0000
committersam <sam@FreeBSD.org>2007-09-17 19:07:24 +0000
commitd2e6b6eac7970920eccfe2d65f03d9ca3c6542ae (patch)
treedd53d98ae592f4e1d6caa3458fddec6956ad9dd5 /sys/net80211/ieee80211_proto.c
parentb6c4c36f72b670e2821f1e630182572a7b96337c (diff)
downloadFreeBSD-src-d2e6b6eac7970920eccfe2d65f03d9ca3c6542ae.zip
FreeBSD-src-d2e6b6eac7970920eccfe2d65f03d9ca3c6542ae.tar.gz
Update beacon handling to sync w/ vap code base:
o add driver callback to handle notification of beacon changes; this is required for devices that manage beacon frames themselves (devices must override the default handler which does nothing) o move beacon update-related flags from ieee80211com to the beacon offsets storage (or handle however a driver wants) o expand beacon offsets structure with members needed for 11h/dfs and appie's o change calling convention for ieee80211_beacon_alloc and ieee80211_beacon_update o add overlapping bss support for 11g; requires driver to pass beacon frames from overlapping bss up to net80211 which is not presently done by any driver o move HT beacon contents update to a routine in the HT code area Reviewed by: avatar, thompsa, sephe Approved by: re (blanket wireless)
Diffstat (limited to 'sys/net80211/ieee80211_proto.c')
-rw-r--r--sys/net80211/ieee80211_proto.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/sys/net80211/ieee80211_proto.c b/sys/net80211/ieee80211_proto.c
index dd7d478..6084516 100644
--- a/sys/net80211/ieee80211_proto.c
+++ b/sys/net80211/ieee80211_proto.c
@@ -93,6 +93,11 @@ const char *ieee80211_wme_acnames[] = {
static int ieee80211_newstate(struct ieee80211com *, enum ieee80211_state, int);
+static void
+null_update_beacon(struct ieee80211com *ic, int item)
+{
+}
+
void
ieee80211_proto_attach(struct ieee80211com *ic)
{
@@ -118,6 +123,7 @@ ieee80211_proto_attach(struct ieee80211com *ic)
/* protocol state change handler */
ic->ic_newstate = ieee80211_newstate;
+ ic->ic_update_beacon = null_update_beacon;
/* initialize management frame handlers */
ic->ic_recv_mgmt = ieee80211_recv_mgmt;
@@ -859,7 +865,7 @@ ieee80211_wme_updateparams_locked(struct ieee80211com *ic)
*/
wme->wme_bssChanParams.cap_info =
(wme->wme_bssChanParams.cap_info+1) & WME_QOSINFO_COUNT;
- ic->ic_flags |= IEEE80211_F_WMEUPDATE;
+ ieee80211_beacon_notify(ic, IEEE80211_BEACON_WME);
}
wme->wme_update(ic);
OpenPOWER on IntegriCloud