Index: awi.c =================================================================== RCS file: /usr/store/mlaier/fcvs/src/sys/dev/awi/awi.c,v retrieving revision 1.33 diff -u -r1.33 awi.c --- awi.c 13 Jun 2004 17:29:07 -0000 1.33 +++ awi.c 18 Jul 2004 04:21:19 -0000 @@ -295,7 +295,9 @@ #endif #ifdef __FreeBSD__ ifp->if_init = awi_init0; - ifp->if_snd.ifq_maxlen = IFQ_MAXLEN; + IFQ_SET_MAXLEN(&ifp->if_snd, IFQ_MAXLEN); + ifp->if_snd.ifq_drv_maxlen = IFQ_MAXLEN; + IFQ_SET_READY(&ifp->if_snd); if_initname(ifp, device_get_name(sc->sc_dev), device_get_unit(sc->sc_dev)); #endif @@ -724,7 +726,11 @@ m_freem(sc->sc_rxpend); sc->sc_rxpend = NULL; } +#ifdef __FreeBSD__ + IFQ_DRV_PURGE(&ifp->if_snd); +#else IFQ_PURGE(&ifp->if_snd); +#endif if (disable) { if (!sc->sc_invalid) @@ -765,7 +771,7 @@ } else { if (ic->ic_state != IEEE80211_S_RUN) break; - IFQ_POLL(&ifp->if_snd, m0); + IFQ_DRV_DEQUEUE(&ifp->if_snd, m0); if (m0 == NULL) break; /* @@ -783,9 +789,9 @@ } if (awi_next_txd(sc, len, &frame, &ntxd)) { ifp->if_flags |= IFF_OACTIVE; + IFQ_DRV_PREPEND(&ifp->if_snd, m0); break; } - IFQ_DEQUEUE(&ifp->if_snd, m0); ifp->if_opackets++; #if NBPFILTER > 0 if (ifp->if_bpf)