On 04/11/15(Wed) 10:29, David Gwynne wrote: > if_wi_hostap.c basically inlines what if_enqueue does, but badly. > > more specifically, it uses IF_FOO operations to manipulate the > interfaces send queue, but they only work if you're using priq. if > you have hfsc on the interface it's not going to work well. > > this makes it just call if_enqueue. > > ok?
ok mpi@ > > Index: if_wi_hostap.c > =================================================================== > RCS file: /cvs/src/sys/dev/ic/if_wi_hostap.c,v > retrieving revision 1.47 > diff -u -p -r1.47 if_wi_hostap.c > --- if_wi_hostap.c 18 Nov 2014 02:37:30 -0000 1.47 > +++ if_wi_hostap.c 4 Nov 2015 00:27:37 -0000 > @@ -1163,18 +1163,7 @@ wihap_data_input(struct wi_softc *sc, st > > /* Queue up for repeating. > */ > - if (IF_QFULL(&ifp->if_snd)) { > - IF_DROP(&ifp->if_snd); > - m_freem(m); > - } > - else { > - ifp->if_obytes += m->m_pkthdr.len; > - if (m->m_flags & M_MCAST) > - ifp->if_omcasts++; > - IF_ENQUEUE(&ifp->if_snd, m); > - if ((ifp->if_flags & IFF_OACTIVE) == 0) > - (*ifp->if_start)(ifp); > - } > + if_enqueue(ifp, m); > return (!mcast); > } > >