missing merge from FreeBSD 8.2

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41558 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Jérôme Duval 2011-05-17 22:45:18 +00:00
parent c41d9ce694
commit 7ea3c0686e

View File

@ -51,6 +51,7 @@ __FBSDID("$FreeBSD$");
#endif
#include <net80211/ieee80211_wds.h>
#include <net80211/ieee80211_mesh.h>
#include <net80211/ieee80211_ratectl.h>
#include <net/bpf.h>
@ -428,7 +429,7 @@ ieee80211_reset_bss(struct ieee80211vap *vap)
ieee80211_reset_erp(ic);
ni = ieee80211_alloc_node(&ic->ic_sta, vap, vap->iv_myaddr);
KASSERT(ni != NULL, ("unable to setup inital BSS node"));
KASSERT(ni != NULL, ("unable to setup initial BSS node"));
obss = vap->iv_bss;
vap->iv_bss = ieee80211_ref_node(ni);
if (obss != NULL) {
@ -813,6 +814,7 @@ ieee80211_sta_join(struct ieee80211vap *vap, struct ieee80211_channel *chan,
if (ieee80211_iserp_rateset(&ni->ni_rates))
ni->ni_flags |= IEEE80211_NODE_ERP;
ieee80211_node_setuptxparms(ni);
ieee80211_ratectl_node_init(ni);
return ieee80211_sta_join1(ieee80211_ref_node(ni));
}
@ -1032,6 +1034,7 @@ node_free(struct ieee80211_node *ni)
{
struct ieee80211com *ic = ni->ni_ic;
ieee80211_ratectl_node_deinit(ni);
ic->ic_node_cleanup(ni);
ieee80211_ies_cleanup(&ni->ni_ies);
ieee80211_psq_cleanup(&ni->ni_psq);
@ -1131,6 +1134,8 @@ ieee80211_alloc_node(struct ieee80211_node_table *nt,
IEEE80211_NOTE(vap, IEEE80211_MSG_INACT, ni,
"%s: inact_reload %u", __func__, ni->ni_inact_reload);
ieee80211_ratectl_node_init(ni);
return ni;
}
@ -1168,6 +1173,8 @@ ieee80211_tmp_node(struct ieee80211vap *vap,
ni->ni_txpower = bss->ni_txpower;
/* XXX optimize away */
ieee80211_psq_init(&ni->ni_psq, "unknown");
ieee80211_ratectl_node_init(ni);
} else {
/* XXX msg */
vap->iv_stats.is_rx_nodealloc++;
@ -1396,6 +1403,7 @@ ieee80211_fakeup_adhoc_node(struct ieee80211vap *vap,
#endif
}
ieee80211_node_setuptxparms(ni);
ieee80211_ratectl_node_init(ni);
if (ic->ic_newassoc != NULL)
ic->ic_newassoc(ni, 1);
/* XXX not right for 802.1x/WPA */
@ -1465,6 +1473,7 @@ ieee80211_add_neighbor(struct ieee80211vap *vap,
if (ieee80211_iserp_rateset(&ni->ni_rates))
ni->ni_flags |= IEEE80211_NODE_ERP;
ieee80211_node_setuptxparms(ni);
ieee80211_ratectl_node_init(ni);
if (ic->ic_newassoc != NULL)
ic->ic_newassoc(ni, 1);
/* XXX not right for 802.1x/WPA */
@ -1736,7 +1745,7 @@ ieee80211_node_delucastkey(struct ieee80211_node *ni)
status = ieee80211_crypto_delkey(ni->ni_vap, &ni->ni_ucastkey);
if (nt->nt_keyixmap != NULL && keyix < nt->nt_keyixmax) {
nikey = nt->nt_keyixmap[keyix];
nt->nt_keyixmap[keyix] = NULL;;
nt->nt_keyixmap[keyix] = NULL;
}
}
if (!isowned)
@ -2333,6 +2342,7 @@ ieee80211_node_join(struct ieee80211_node *ni, int resp)
);
ieee80211_node_setuptxparms(ni);
ieee80211_ratectl_node_init(ni);
/* give driver a chance to setup state like ni_txrate */
if (ic->ic_newassoc != NULL)
ic->ic_newassoc(ni, newassoc);