summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Thompson <thompsa@FreeBSD.org>2009-01-25 07:31:51 +0000
committerAndrew Thompson <thompsa@FreeBSD.org>2009-01-25 07:31:51 +0000
commit8d9b29f35b461bf59350c413efa0aa9fe150f389 (patch)
tree010c30ae9f139f0791538fd75048897fab44b04d
parent11b763df199bb1fe19dade98a3b14429740ed2ac (diff)
Notes
-rw-r--r--sys/net80211/ieee80211_ioctl.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/sys/net80211/ieee80211_ioctl.c b/sys/net80211/ieee80211_ioctl.c
index dc810dc0ec67..d3b3683854ca 100644
--- a/sys/net80211/ieee80211_ioctl.c
+++ b/sys/net80211/ieee80211_ioctl.c
@@ -42,6 +42,7 @@ __FBSDID("$FreeBSD$");
#include <sys/socket.h>
#include <sys/sockio.h>
#include <sys/systm.h>
+#include <sys/taskqueue.h>
#include <net/if.h>
#include <net/if_dl.h>
@@ -3233,6 +3234,8 @@ ieee80211_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data)
ieee80211_stop_locked(vap);
}
IEEE80211_UNLOCK(ic);
+ /* Wait for parent ioctl handler if it was queued */
+ taskqueue_drain(taskqueue_thread, &ic->ic_parent_task);
break;
case SIOCADDMULTI:
case SIOCDELMULTI: