Index: src/sys/dev/wi/if_wi.c =================================================================== RCS file: /home/ncvs/src/sys/dev/wi/if_wi.c,v retrieving revision 1.168 diff -I.svn -u -r1.168 if_wi.c --- src/sys/dev/wi/if_wi.c 1 Aug 2004 23:58:04 -0000 1.168 +++ src/sys/dev/wi/if_wi.c 20 Aug 2004 09:03:57 -0000 @@ -2643,6 +2643,7 @@ u_int16_t val; struct wi_ssid ssid; u_int8_t old_bssid[IEEE80211_ADDR_LEN]; + int err; DPRINTF(("%s: %s -> %s\n", __func__, ieee80211_state_name[ic->ic_state], @@ -2652,7 +2653,10 @@ case IEEE80211_S_INIT: ic->ic_flags &= ~IEEE80211_F_SIBSS; sc->sc_flags &= ~WI_FLAGS_OUTRANGE; - return (*sc->sc_newstate)(ic, nstate, arg); + NET_LOCK_GIANT(); + err = (*sc->sc_newstate)(ic, nstate, arg); + NET_UNLOCK_GIANT(); + return (err); case IEEE80211_S_RUN: sc->sc_flags &= ~WI_FLAGS_OUTRANGE;