|
|
@@ -26,23 +26,4 @@
|
|
|
("wrong refcount for new node."));
|
|
|
|
|
|
if (obss != NULL) {
|
|
|
-@@ -630,6 +630,7 @@
|
|
|
- ieee80211_fix_rate(selbs, IEEE80211_F_DODEL);
|
|
|
- }
|
|
|
-
|
|
|
-+ IEEE80211_VAPS_LOCK_BH(ic);
|
|
|
- /*
|
|
|
- * Committed to selbs, setup state.
|
|
|
- */
|
|
|
-@@ -642,8 +643,9 @@
|
|
|
- (vap->iv_state == IEEE80211_S_RUN) && bssid_equal(obss, selbs)); */
|
|
|
- vap->iv_bss = selbs;
|
|
|
- IEEE80211_ADDR_COPY(vap->iv_bssid, selbs->ni_bssid);
|
|
|
-- if (obss != NULL)
|
|
|
-+ if ((obss != NULL) && (obss != selbs))
|
|
|
- ieee80211_unref_node(&obss);
|
|
|
-+ IEEE80211_VAPS_UNLOCK_BH(ic);
|
|
|
- ic->ic_bsschan = selbs->ni_chan;
|
|
|
- ic->ic_curchan = ic->ic_bsschan;
|
|
|
- ic->ic_curmode = ieee80211_chan2mode(ic->ic_curchan);
|
|
|
|