|
Lines 93-98
Link Here
|
| 93 |
|
93 |
|
| 94 |
static void _ieee80211_free_node(struct ieee80211_node *); |
94 |
static void _ieee80211_free_node(struct ieee80211_node *); |
| 95 |
|
95 |
|
|
|
96 |
static void node_reclaim(struct ieee80211_node_table *nt, |
| 97 |
struct ieee80211_node *ni); |
| 96 |
static void ieee80211_node_table_init(struct ieee80211com *ic, |
98 |
static void ieee80211_node_table_init(struct ieee80211com *ic, |
| 97 |
struct ieee80211_node_table *nt, const char *name, |
99 |
struct ieee80211_node_table *nt, const char *name, |
| 98 |
int inact, int keymaxix); |
100 |
int inact, int keymaxix); |
|
Lines 719-727
Link Here
|
| 719 |
IEEE80211_ADDR_EQ(obss->ni_macaddr, selbs->ni_macaddr)); |
721 |
IEEE80211_ADDR_EQ(obss->ni_macaddr, selbs->ni_macaddr)); |
| 720 |
vap->iv_bss = selbs; /* NB: caller assumed to bump refcnt */ |
722 |
vap->iv_bss = selbs; /* NB: caller assumed to bump refcnt */ |
| 721 |
if (obss != NULL) { |
723 |
if (obss != NULL) { |
|
|
724 |
struct ieee80211_node_table *nt = obss->ni_table; |
| 725 |
|
| 722 |
copy_bss(selbs, obss); |
726 |
copy_bss(selbs, obss); |
| 723 |
ieee80211_node_decref(obss); /* iv_bss reference */ |
727 |
ieee80211_node_decref(obss); /* iv_bss reference */ |
| 724 |
ieee80211_free_node(obss); /* station table reference */ |
728 |
|
|
|
729 |
IEEE80211_NODE_LOCK(nt); |
| 730 |
node_reclaim(nt, obss); /* station table reference */ |
| 731 |
IEEE80211_NODE_UNLOCK(nt); |
| 732 |
|
| 725 |
obss = NULL; /* NB: guard against later use */ |
733 |
obss = NULL; /* NB: guard against later use */ |
| 726 |
} |
734 |
} |
| 727 |
|
735 |
|