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);
>       }
>  
> 

Reply via email to