if (sc->txfree < 1 + IPW_MAX_NSEG) { IF_PREPEND(&ifp->if_snd, m); ifp->if_flags |= IFF_OACTIVE; break; }
ipw_start(struct ifnet *ifp){	struct ipw_softc *sc = ifp->if_softc;	struct ieee80211com *ic = &sc->sc_ic;	struct mbuf *m;	struct ieee80211_node *ni;	if (ic->ic_state != IEEE80211_S_RUN)		return;	for (;;) {		IF_DEQUEUE(&ifp->if_snd, m);		if (m == NULL)			break;#if NBPFILTER > 0		if (ifp->if_bpf != NULL)			bpf_mtap(ifp->if_bpf, m);#endif		m = ieee80211_encap(ifp, m, &ni);		if (m == NULL)			continue;#if NBPFILTER > 0		if (ic->ic_rawbpf != NULL)			bpf_mtap(ic->ic_rawbpf, m);#endif		if (ipw_tx_start(ifp, m, ni) != 0) {			if (ni != NULL && ni != ic->ic_bss)				ieee80211_free_node(ic, ni);			break;		}		/* start watchdog timer */		sc->sc_tx_timer = 5;		ifp->if_timer = 1;	}}