PERFORCE change 141400 for review
Andrew Thompson
thompsa at FreeBSD.org
Sat May 10 00:07:53 UTC 2008
http://perforce.freebsd.org/chv.cgi?CH=141400
Change 141400 by thompsa at thompsa_burger on 2008/05/10 00:07:23
Add a pause if the interface has been upped by our vap but the taskq
hasnt completed yet. The NDIS OID commands will fail otherwise.
Affected files ...
.. //depot/projects/vap/sys/dev/if_ndis/if_ndis.c#24 edit
Differences ...
==== //depot/projects/vap/sys/dev/if_ndis/if_ndis.c#24 (text+ko) ====
@@ -2799,7 +2799,23 @@
struct ndis_oid_data oid;
struct ndis_evt evt;
void *oidbuf;
- int error = 0;
+ int n, error = 0;
+
+ switch(command) {
+ case SIOCGDRVSPEC:
+ case SIOCSDRVSPEC:
+ /*
+ * The ndis commands get passed directly to us from
+ * the vap, check if the vap has started us yet.
+ */
+ n = 50;
+ while (n-- && (ifp->if_flags & IFF_UP) &&
+ !(ifp->if_drv_flags & IFF_DRV_RUNNING))
+ pause("ndisioctl", hz/10);
+ /* Interface is not ready */
+ if (!NDIS_INITIALIZED(sc))
+ return (ENXIO);
+ }
switch(command) {
case SIOCSIFFLAGS:
More information about the p4-projects
mailing list