void kue_start(struct ifnet *ifp) { struct kue_softc *sc = ifp->if_softc; struct mbuf *m_head = NULL; DPRINTFN(10,("%s: %s: enter\n", sc->kue_dev.dv_xname,__func__)); if (sc->kue_dying) return; if (ifp->if_flags & IFF_OACTIVE) return; IFQ_POLL(&ifp->if_snd, m_head); if (m_head == NULL) return; if (kue_send(sc, m_head, 0)) { ifp->if_flags |= IFF_OACTIVE; return; } IFQ_DEQUEUE(&ifp->if_snd, m_head); #if NBPFILTER > 0 /* * If there's a BPF listener, bounce a copy of this frame * to him. */ if (ifp->if_bpf) bpf_mtap(ifp->if_bpf, m_head, BPF_DIRECTION_OUT); #endif ifp->if_flags |= IFF_OACTIVE; /* * Set a timeout in case the chip goes out to lunch. */ ifp->if_timer = 6; }
static void kue_start(struct ifnet *ifp) { struct kue_softc *sc = ifp->if_softc; struct mbuf *m; DPRINTFN(10,("%s: %s: enter\n", device_xname(sc->kue_dev),__func__)); if (sc->kue_dying) return; if (ifp->if_flags & IFF_OACTIVE) return; IFQ_POLL(&ifp->if_snd, m); if (m == NULL) return; if (kue_send(sc, m, 0)) { ifp->if_flags |= IFF_OACTIVE; return; } IFQ_DEQUEUE(&ifp->if_snd, m); /* * If there's a BPF listener, bounce a copy of this frame * to him. */ bpf_mtap(ifp, m); m_freem(m); ifp->if_flags |= IFF_OACTIVE; /* * Set a timeout in case the chip goes out to lunch. */ ifp->if_timer = 6; }