svn commit: r193337 - head/sys/net80211
Sam Leffler
sam at FreeBSD.org
Tue Jun 2 18:55:28 UTC 2009
Author: sam
Date: Tue Jun 2 18:55:27 2009
New Revision: 193337
URL: http://svn.freebsd.org/changeset/base/193337
Log:
move if_detach to the top of ieee80211_ifdetach to close various races
Reviewed by: jhb
Modified:
head/sys/net80211/ieee80211.c
Modified: head/sys/net80211/ieee80211.c
==============================================================================
--- head/sys/net80211/ieee80211.c Tue Jun 2 18:53:21 2009 (r193336)
+++ head/sys/net80211/ieee80211.c Tue Jun 2 18:55:27 2009 (r193337)
@@ -313,6 +313,8 @@ ieee80211_ifdetach(struct ieee80211com *
struct ifnet *ifp = ic->ic_ifp;
struct ieee80211vap *vap;
+ if_detach(ifp);
+
while ((vap = TAILQ_FIRST(&ic->ic_vaps)) != NULL)
ieee80211_vap_destroy(vap);
ieee80211_waitfor_parent(ic);
@@ -329,11 +331,10 @@ ieee80211_ifdetach(struct ieee80211com *
ieee80211_crypto_detach(ic);
ieee80211_power_detach(ic);
ieee80211_node_detach(ic);
- ifmedia_removeall(&ic->ic_media);
+ ifmedia_removeall(&ic->ic_media);
taskqueue_free(ic->ic_tq);
IEEE80211_LOCK_DESTROY(ic);
- if_detach(ifp);
}
/*
More information about the svn-src-all
mailing list