diff options
author | sam <sam@FreeBSD.org> | 2008-09-21 23:44:15 +0000 |
---|---|---|
committer | sam <sam@FreeBSD.org> | 2008-09-21 23:44:15 +0000 |
commit | b823d18ca491ab2a0d4996a20a7368650e7d7715 (patch) | |
tree | 68592baf2027c37efcdcd6532dbf42b70cde44eb /sys/net80211/ieee80211_hostap.c | |
parent | 40f433ee351dc5c31546fb51df1fb8be5e330955 (diff) | |
download | FreeBSD-src-b823d18ca491ab2a0d4996a20a7368650e7d7715.zip FreeBSD-src-b823d18ca491ab2a0d4996a20a7368650e7d7715.tar.gz |
Revamp ht ie handling:
o change ieee80211_parse_htcap and ieee80211_parse_htinfo to save only
internal state obtained from the ie's; no dynamic state such as
ni_chw is altered
o add ieee80211_ht_updateparams to parse ht cap+info ie's and update
dynamic node state
o change ieee80211_ht_node_init to not take an htcap ie that is parsed;
instead have the caller make a separate call as one caller wants to
parse the ie while another wants to parse both cap+info ie's and
update state so can better do this with ieee80211_ht_updateparams
These changes fix sta mode state handling where the node's channel
width was shifted to ht20/ht40 prematurely.
Diffstat (limited to 'sys/net80211/ieee80211_hostap.c')
-rw-r--r-- | sys/net80211/ieee80211_hostap.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/net80211/ieee80211_hostap.c b/sys/net80211/ieee80211_hostap.c index c876dab..7f28f4f 100644 --- a/sys/net80211/ieee80211_hostap.c +++ b/sys/net80211/ieee80211_hostap.c @@ -2038,7 +2038,8 @@ hostap_recv_mgmt(struct ieee80211_node *ni, struct mbuf *m0, vap->iv_stats.is_ht_assoc_norate++; return; } - ieee80211_ht_node_init(ni, htcap); + ieee80211_ht_node_init(ni); + ieee80211_ht_updatehtcap(ni, htcap); } else if (ni->ni_flags & IEEE80211_NODE_HT) ieee80211_ht_node_cleanup(ni); /* |