diff options
author | thompsa <thompsa@FreeBSD.org> | 2009-02-12 18:57:18 +0000 |
---|---|---|
committer | thompsa <thompsa@FreeBSD.org> | 2009-02-12 18:57:18 +0000 |
commit | 251dd2ca418183142f0f78ada90a77fa46a3b88f (patch) | |
tree | b2387f8d726c23cdd8238be123008604c2dc3292 /sys/net80211/ieee80211.c | |
parent | cc499f763ee65f3e6109a50d14b10ef520ca6079 (diff) | |
download | FreeBSD-src-251dd2ca418183142f0f78ada90a77fa46a3b88f.zip FreeBSD-src-251dd2ca418183142f0f78ada90a77fa46a3b88f.tar.gz |
Add a ieee80211_waitfor_parent() function that will wait for all deferred
parent interface tasks to complete. This had been added to the ioctl path but
it is also need elsewhere like detach so its safe to teardown.
Reported by: Hans Petter Selasky
Submitted by: sam
Diffstat (limited to 'sys/net80211/ieee80211.c')
-rw-r--r-- | sys/net80211/ieee80211.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/net80211/ieee80211.c b/sys/net80211/ieee80211.c index 4dd8776..7a02eda 100644 --- a/sys/net80211/ieee80211.c +++ b/sys/net80211/ieee80211.c @@ -289,9 +289,9 @@ ieee80211_ifdetach(struct ieee80211com *ic) struct ifnet *ifp = ic->ic_ifp; struct ieee80211vap *vap; - /* XXX ieee80211_stop_all? */ while ((vap = TAILQ_FIRST(&ic->ic_vaps)) != NULL) ieee80211_vap_destroy(vap); + ieee80211_waitfor_parent(ic); ieee80211_sysctl_detach(ic); ieee80211_regdomain_detach(ic); |