Make all network interrupt service routines MPSAFE part 1/3.
[dragonfly.git] / sys / dev / netif / cue / if_cue.c
index 6ee734e..b719704 100644 (file)
@@ -30,7 +30,7 @@
  * THE POSSIBILITY OF SUCH DAMAGE.
  *
  * $FreeBSD: src/sys/dev/usb/if_cue.c,v 1.45 2003/12/08 07:54:14 obrien Exp $
- * $DragonFly: src/sys/dev/netif/cue/if_cue.c,v 1.20 2005/05/25 11:51:26 joerg Exp $
+ * $DragonFly: src/sys/dev/netif/cue/if_cue.c,v 1.24 2005/11/28 17:13:41 dillon Exp $
  */
 
 /*
@@ -343,11 +343,7 @@ cue_setmulti(struct cue_softc *sc)
                sc->cue_mctab[i] = 0;
 
        /* now program new ones */
-#if defined(__FreeBSD__) && __FreeBSD_version >= 500000
-       TAILQ_FOREACH(ifma, &ifp->if_multiaddrs, ifma_link)
-#else
        LIST_FOREACH(ifma, &ifp->if_multiaddrs, ifma_link)
-#endif
        {
                if (ifma->ifma_addr->sa_family != AF_LINK)
                        continue;
@@ -433,7 +429,6 @@ USB_ATTACH(cue)
        usb_endpoint_descriptor_t       *ed;
        int                     i;
 
-       bzero(sc, sizeof(struct cue_softc));
        sc->cue_iface = uaa->iface;
        sc->cue_udev = uaa->device;
        callout_init(&sc->cue_stat_timer);
@@ -469,10 +464,6 @@ USB_ATTACH(cue)
                }
        }
 
-#if defined(__FreeBSD__) && __FreeBSD_version >= 500000
-       mtx_init(&sc->cue_mtx, device_get_nameunit(self), MTX_NETWORK_LOCK,
-           MTX_DEF | MTX_RECURSE);
-#endif
        CUE_LOCK(sc);
 
        ifp = &sc->arpcom.ac_if;
@@ -501,7 +492,7 @@ USB_ATTACH(cue)
        /*
         * Call MI attach routine.
         */
-       ether_ifattach(ifp, eaddr);
+       ether_ifattach(ifp, eaddr, NULL);
        usb_register_netisr();
        sc->cue_dying = 0;
 
@@ -531,9 +522,6 @@ cue_detach(device_ptr_t dev)
                usbd_abort_pipe(sc->cue_ep[CUE_ENDPT_INTR]);
 
        CUE_UNLOCK(sc);
-#if defined(__FreeBSD__) && __FreeBSD_version >= 500000
-       mtx_destroy(&sc->cue_mtx);
-#endif
 
        return(0);
 }
@@ -865,7 +853,7 @@ cue_start(struct ifnet *ifp)
                CUE_UNLOCK(sc);
                return;
        }
-       m_head = ifq_dequeue(&ifp->if_snd);
+       ifq_dequeue(&ifp->if_snd, m_head);
 
        /*
         * If there's a BPF listener, bounce a copy of this frame