Hello -

IFQ has its own protection, so no need for splnet/splx.

if_gif.c - use for (;;) to match the other drivers.


Index: net/if_gif.c
===================================================================
RCS file: /cvs/src/sys/net/if_gif.c,v
retrieving revision 1.83
diff -u -p -r1.83 if_gif.c
--- net/if_gif.c        5 Dec 2015 10:07:55 -0000       1.83
+++ net/if_gif.c        14 Jan 2016 00:26:10 -0000
@@ -164,13 +164,9 @@ gif_start(struct ifnet *ifp)
 {
        struct gif_softc *sc = (struct gif_softc*)ifp;
        struct mbuf *m;
-       int s;
 
-       while (1) {
-               s = splnet();
+       for (;;) {
                IFQ_DEQUEUE(&ifp->if_snd, m);
-               splx(s);
-
                if (m == NULL)
                        break;
 
Index: net/if_mpe.c
===================================================================
RCS file: /cvs/src/sys/net/if_mpe.c,v
retrieving revision 1.52
diff -u -p -r1.52 if_mpe.c
--- net/if_mpe.c        5 Dec 2015 10:07:55 -0000       1.52
+++ net/if_mpe.c        14 Jan 2016 00:26:10 -0000
@@ -143,16 +143,12 @@ mpestart(struct ifnet *ifp0)
 {
        struct mbuf             *m;
        struct sockaddr         *sa = (struct sockaddr *)&mpedst;
-       int                      s;
        sa_family_t              af;
        struct rtentry          *rt;
        struct ifnet            *ifp;
 
        for (;;) {
-               s = splnet();
                IFQ_DEQUEUE(&ifp0->if_snd, m);
-               splx(s);
-
                if (m == NULL)
                        return;
 
Index: net/if_pppx.c
===================================================================
RCS file: /cvs/src/sys/net/if_pppx.c,v
retrieving revision 1.48
diff -u -p -r1.48 if_pppx.c
--- net/if_pppx.c       5 Dec 2015 16:09:09 -0000       1.48
+++ net/if_pppx.c       14 Jan 2016 00:26:10 -0000
@@ -995,15 +995,13 @@ pppx_if_start(struct ifnet *ifp)
 {
        struct pppx_if *pxi = (struct pppx_if *)ifp->if_softc;
        struct mbuf *m;
-       int proto, s;
+       int proto;
 
        if (!ISSET(ifp->if_flags, IFF_RUNNING))
                return;
 
        for (;;) {
-               s = splnet();
                IFQ_DEQUEUE(&ifp->if_snd, m);
-               splx(s);
 
                if (m == NULL)
                        break;
Index: net/if_vxlan.c
===================================================================
RCS file: /cvs/src/sys/net/if_vxlan.c,v
retrieving revision 1.35
diff -u -p -r1.35 if_vxlan.c
--- net/if_vxlan.c      5 Dec 2015 10:07:55 -0000       1.35
+++ net/if_vxlan.c      14 Jan 2016 00:26:10 -0000
@@ -275,15 +275,12 @@ void
 vxlanstart(struct ifnet *ifp)
 {
        struct mbuf             *m;
-       int                      s;
 
        for (;;) {
-               s = splnet();
                IFQ_DEQUEUE(&ifp->if_snd, m);
-               splx(s);
-
                if (m == NULL)
                        return;
+
                ifp->if_opackets++;
 
 #if NBPFILTER > 0

Reply via email to