--- //depot/vendor/freebsd/src/sys/dev/firewire/if_fwe.c	2004/07/20 04:30:46
+++ //depot/user/rwatson/netperf/sys/dev/firewire/if_fwe.c	2004/07/25 19:09:59
@@ -215,7 +215,8 @@
 	ifp->if_start = fwe_start;
 	ifp->if_ioctl = fwe_ioctl;
 	ifp->if_mtu = ETHERMTU;
-	ifp->if_flags = (IFF_BROADCAST|IFF_SIMPLEX|IFF_MULTICAST);
+	ifp->if_flags = (IFF_BROADCAST|IFF_SIMPLEX|IFF_MULTICAST|
+	    IFF_NEEDSGIANT);
 	ifp->if_snd.ifq_maxlen = TX_MAX_QUEUE;
 
 	s = splimp();
@@ -487,6 +488,8 @@
 	struct fwe_softc *fwe = ((struct fwe_eth_softc *)ifp->if_softc)->fwe;
 	int s;
 
+	GIANT_REQUIRED;
+
 	FWEDEBUG(ifp, "starting\n");
 
 	if (fwe->dma_ch < 0) {
--- //depot/vendor/freebsd/src/sys/dev/usb/if_aue.c	2004/06/27 12:45:37
+++ //depot/user/rwatson/netperf/sys/dev/usb/if_aue.c	2004/07/25 19:09:59
@@ -717,7 +717,8 @@
 	ifp->if_softc = sc;
 	if_initname(ifp, "aue", sc->aue_unit);
 	ifp->if_mtu = ETHERMTU;
-	ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST;
+	ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST |
+	    IFF_NEEDSGIANT;
 	ifp->if_ioctl = aue_ioctl;
 	ifp->if_start = aue_start;
 	ifp->if_watchdog = aue_watchdog;
--- //depot/vendor/freebsd/src/sys/dev/usb/if_axe.c	2004/07/18 06:50:35
+++ //depot/user/rwatson/netperf/sys/dev/usb/if_axe.c	2004/07/25 19:09:59
@@ -476,7 +476,8 @@
 	ifp->if_softc = sc;
 	if_initname(ifp, "axe", sc->axe_unit);
 	ifp->if_mtu = ETHERMTU;
-	ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST;
+	ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST |
+	    IFF_NEEDSGIANT;
 	ifp->if_ioctl = axe_ioctl;
 	ifp->if_start = axe_start;
 	ifp->if_watchdog = axe_watchdog;
--- //depot/vendor/freebsd/src/sys/dev/usb/if_cue.c	2004/06/27 12:45:37
+++ //depot/user/rwatson/netperf/sys/dev/usb/if_cue.c	2004/07/25 19:09:59
@@ -507,7 +507,8 @@
 	ifp->if_softc = sc;
 	if_initname(ifp, "cue", sc->cue_unit);
 	ifp->if_mtu = ETHERMTU;
-	ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST;
+	ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST |
+	    IFF_NEEDSGIANT;
 	ifp->if_ioctl = cue_ioctl;
 	ifp->if_start = cue_start;
 	ifp->if_watchdog = cue_watchdog;
--- //depot/vendor/freebsd/src/sys/dev/usb/if_kue.c	2004/06/27 12:45:37
+++ //depot/user/rwatson/netperf/sys/dev/usb/if_kue.c	2004/07/25 19:09:59
@@ -481,7 +481,8 @@
 	ifp->if_softc = sc;
 	if_initname(ifp, "kue", sc->kue_unit);
 	ifp->if_mtu = ETHERMTU;
-	ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST;
+	ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST |
+	    IFF_NEEDSGIANT;
 	ifp->if_ioctl = kue_ioctl;
 	ifp->if_start = kue_start;
 	ifp->if_watchdog = kue_watchdog;
--- //depot/vendor/freebsd/src/sys/dev/usb/if_rue.c	2004/06/27 12:45:37
+++ //depot/user/rwatson/netperf/sys/dev/usb/if_rue.c	2004/07/25 19:09:59
@@ -660,7 +660,8 @@
 	ifp->if_softc = sc;
 	if_initname(ifp, "rue", sc->rue_unit);
 	ifp->if_mtu = ETHERMTU;
-	ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST;
+	ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST ||
+	    IFF_NEEDSGIANT;
 	ifp->if_ioctl = rue_ioctl;
 	ifp->if_start = rue_start;
 	ifp->if_watchdog = rue_watchdog;
--- //depot/vendor/freebsd/src/sys/dev/usb/if_udav.c	2004/06/27 12:45:37
+++ //depot/user/rwatson/netperf/sys/dev/usb/if_udav.c	2004/07/25 19:09:59
@@ -400,7 +400,8 @@
 #elif defined(__FreeBSD__)
 	if_initname(ifp, "udav",  device_get_unit(self));
 #endif
-	ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST;
+	ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST |
+	    IFF_NEEDSGIANT;
 	ifp->if_start = udav_start;
 	ifp->if_ioctl = udav_ioctl;
 	ifp->if_watchdog = udav_watchdog;
--- //depot/vendor/freebsd/src/sys/pci/if_de.c	2004/07/05 22:30:33
+++ //depot/user/rwatson/netperf/sys/pci/if_de.c	2004/07/25 19:09:59
@@ -4758,7 +4758,7 @@
     /* XXX: driver name/unit should be set some other way */
     ifp->if_dname = "de";
     ifp->if_dunit = sc->tulip_unit;
-    ifp->if_flags = IFF_BROADCAST|IFF_SIMPLEX|IFF_MULTICAST;
+    ifp->if_flags = IFF_BROADCAST|IFF_SIMPLEX|IFF_MULTICAST|IFF_NEEDSGIANT;
     ifp->if_ioctl = tulip_ifioctl;
     ifp->if_start = tulip_ifstart;
     ifp->if_watchdog = tulip_ifwatchdog;
--- //depot/vendor/freebsd/src/sys/pci/if_pcn.c	2004/06/28 20:10:48
+++ //depot/user/rwatson/netperf/sys/pci/if_pcn.c	2004/07/25 19:09:59
@@ -552,7 +552,8 @@
 	ifp->if_softc = sc;
 	if_initname(ifp, device_get_name(dev), device_get_unit(dev));
 	ifp->if_mtu = ETHERMTU;
-	ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST;
+	ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST |
+	    IFF_NEEDSGIANT;
 	ifp->if_ioctl = pcn_ioctl;
 	ifp->if_start = pcn_start;
 	ifp->if_watchdog = pcn_watchdog;
--- //depot/vendor/freebsd/src/sys/pci/if_sf.c	2004/07/05 22:55:32
+++ //depot/user/rwatson/netperf/sys/pci/if_sf.c	2004/07/25 19:09:59
@@ -706,7 +706,8 @@
 	ifp->if_softc = sc;
 	if_initname(ifp, device_get_name(dev), device_get_unit(dev));
 	ifp->if_mtu = ETHERMTU;
-	ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST;
+	ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST |
+	    IFF_NEEDSGIANT;
 	ifp->if_ioctl = sf_ioctl;
 	ifp->if_start = sf_start;
 	ifp->if_watchdog = sf_watchdog;
--- //depot/vendor/freebsd/src/sys/pci/if_sk.c	2004/06/28 20:10:48
+++ //depot/user/rwatson/netperf/sys/pci/if_sk.c	2004/07/25 19:09:59
@@ -1436,7 +1436,8 @@
 	ifp->if_softc = sc_if;
 	if_initname(ifp, device_get_name(dev), device_get_unit(dev));
 	ifp->if_mtu = ETHERMTU;
-	ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST;
+	ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST |
+	    IFF_NEEDSGIANT;
 	ifp->if_ioctl = sk_ioctl;
 	ifp->if_start = sk_start;
 	ifp->if_watchdog = sk_watchdog;
--- //depot/vendor/freebsd/src/sys/pci/if_ste.c	2004/06/28 20:10:48
+++ //depot/user/rwatson/netperf/sys/pci/if_ste.c	2004/07/25 19:09:59
@@ -1074,7 +1074,8 @@
 	ifp->if_softc = sc;
 	if_initname(ifp, device_get_name(dev), device_get_unit(dev));
 	ifp->if_mtu = ETHERMTU;
-	ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST;
+	ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST |
+	    IFF_NEEDSGIANT;
 	ifp->if_ioctl = ste_ioctl;
 	ifp->if_start = ste_start;
 	ifp->if_watchdog = ste_watchdog;
--- //depot/vendor/freebsd/src/sys/pci/if_ti.c	2004/07/05 22:50:36
+++ //depot/user/rwatson/netperf/sys/pci/if_ti.c	2004/07/25 19:09:59
@@ -2157,7 +2157,8 @@
 	ifp = &sc->arpcom.ac_if;
 	ifp->if_softc = sc;
 	if_initname(ifp, device_get_name(dev), device_get_unit(dev));
-	ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST;
+	ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST |
+	    IFF_NEEDSGIANT;
 	tis[unit] = sc;
 	ifp->if_ioctl = ti_ioctl;
 	ifp->if_start = ti_start;
--- //depot/vendor/freebsd/src/sys/pci/if_tl.c	2004/05/30 20:01:55
+++ //depot/user/rwatson/netperf/sys/pci/if_tl.c	2004/07/25 19:09:59
@@ -1262,7 +1262,8 @@
 	ifp = &sc->arpcom.ac_if;
 	ifp->if_softc = sc;
 	if_initname(ifp, device_get_name(dev), device_get_unit(dev));
-	ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST;
+	ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST |
+	    IFF_NEEDSGIANT;
 	ifp->if_ioctl = tl_ioctl;
 	ifp->if_start = tl_start;
 	ifp->if_watchdog = tl_watchdog;
--- //depot/vendor/freebsd/src/sys/pci/if_wb.c	2004/06/28 20:10:48
+++ //depot/user/rwatson/netperf/sys/pci/if_wb.c	2004/07/25 19:09:59
@@ -855,7 +855,8 @@
 	ifp->if_softc = sc;
 	if_initname(ifp, device_get_name(dev), device_get_unit(dev));
 	ifp->if_mtu = ETHERMTU;
-	ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST;
+	ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST |
+	    IFF_NEEDSGIANT;
 	ifp->if_ioctl = wb_ioctl;
 	ifp->if_start = wb_start;
 	ifp->if_watchdog = wb_watchdog;
