diff options
Diffstat (limited to 'sys')
-rw-r--r-- | sys/net80211/ieee80211_ioctl.c | 3 |
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: |