summaryrefslogtreecommitdiff
path: root/sys/dev
diff options
context:
space:
mode:
authorJohn Baldwin <jhb@FreeBSD.org>2014-09-17 18:17:18 +0000
committerJohn Baldwin <jhb@FreeBSD.org>2014-09-17 18:17:18 +0000
commita90db02c2ddbbe96cfd170658f249adaf36ea4b2 (patch)
tree04b79e1b84b89548b954a6a2ee7ddc69a8ea95ce /sys/dev
parentd147d9931a16e17fed25ca69f699a1971cabaf13 (diff)
Notes
Diffstat (limited to 'sys/dev')
-rw-r--r--sys/dev/if_ndis/if_ndis.c19
1 files changed, 11 insertions, 8 deletions
diff --git a/sys/dev/if_ndis/if_ndis.c b/sys/dev/if_ndis/if_ndis.c
index 01388c90cd6f..eae33c50a7b1 100644
--- a/sys/dev/if_ndis/if_ndis.c
+++ b/sys/dev/if_ndis/if_ndis.c
@@ -1709,23 +1709,26 @@ ndis_ticktask(d, xsc)
if (sc->ndis_link == 0 &&
sc->ndis_sts == NDIS_STATUS_MEDIA_CONNECT) {
sc->ndis_link = 1;
- NDIS_UNLOCK(sc);
if ((sc->ndis_80211 != 0) && (vap != NULL)) {
+ NDIS_UNLOCK(sc);
ndis_getstate_80211(sc);
ieee80211_new_state(vap, IEEE80211_S_RUN, -1);
- }
- NDIS_LOCK(sc);
- if_link_state_change(sc->ifp, LINK_STATE_UP);
+ NDIS_LOCK(sc);
+ if_link_state_change(vap->iv_ifp, LINK_STATE_UP);
+ } else
+ if_link_state_change(sc->ifp, LINK_STATE_UP);
}
if (sc->ndis_link == 1 &&
sc->ndis_sts == NDIS_STATUS_MEDIA_DISCONNECT) {
sc->ndis_link = 0;
- NDIS_UNLOCK(sc);
- if ((sc->ndis_80211 != 0) && (vap != NULL))
+ if ((sc->ndis_80211 != 0) && (vap != NULL)) {
+ NDIS_UNLOCK(sc);
ieee80211_new_state(vap, IEEE80211_S_SCAN, 0);
- NDIS_LOCK(sc);
- if_link_state_change(sc->ifp, LINK_STATE_DOWN);
+ NDIS_LOCK(sc);
+ if_link_state_change(vap->iv_ifp, LINK_STATE_DOWN);
+ } else
+ if_link_state_change(sc->ifp, LINK_STATE_DOWN);
}
NDIS_UNLOCK(sc);