PERFORCE change 153962 for review
Andrew Thompson
thompsa at FreeBSD.org
Tue Dec 2 10:07:00 PST 2008
http://perforce.freebsd.org/chv.cgi?CH=153962
Change 153962 by thompsa at thompsa_burger on 2008/12/02 18:06:24
If the parent up/down task was queued then sync with it before
returning from the vap ioctl. This means that the parent interface
_should_ be up before we return to userland, it does not depend on the
parent init succeeding, just that it was run.
This fixes wpa_supplicant with ndis as it fires passthrough OID ioctls
as soon as the vap is up yet the parent may still be down.
Affected files ...
.. //depot/projects/vap/sys/net80211/ieee80211_ioctl.c#70 edit
Differences ...
==== //depot/projects/vap/sys/net80211/ieee80211_ioctl.c#70 (text+ko) ====
@@ -42,6 +42,7 @@
#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>
@@ -3213,6 +3214,8 @@
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:
More information about the p4-projects
mailing list