diff --git a/sys/dev/if_ndis/if_ndis.c b/sys/dev/if_ndis/if_ndis.c index 30600f484def..4981a2e0d93a 100644 --- a/sys/dev/if_ndis/if_ndis.c +++ b/sys/dev/if_ndis/if_ndis.c @@ -1717,8 +1717,10 @@ ndis_ticktask(d, xsc) if (sc->ndis_link == 1 && sc->ndis_sts == NDIS_STATUS_MEDIA_DISCONNECT) { sc->ndis_link = 0; + NDIS_UNLOCK(sc); if (sc->ndis_80211) ieee80211_new_state(vap, IEEE80211_S_SCAN, 0); + NDIS_LOCK(sc); if_link_state_change(sc->ifp, LINK_STATE_DOWN); }