Author: glebius
Date: Thu Oct 17 20:18:07 2019
New Revision: 353695
URL: https://svnweb.freebsd.org/changeset/base/353695

Log:
  Revert two parts of r353292 that enter epoch when processing vlan 
capabilities.
  It could be that entering epoch isn't necessary here, but better take a
  conservative approach.
  
  Submitted by: kp

Modified:
  head/sys/net/if_vlan.c

Modified: head/sys/net/if_vlan.c
==============================================================================
--- head/sys/net/if_vlan.c      Thu Oct 17 20:10:32 2019        (r353694)
+++ head/sys/net/if_vlan.c      Thu Oct 17 20:18:07 2019        (r353695)
@@ -1625,14 +1625,16 @@ vlan_setflags(struct ifnet *ifp, int status)
 static void
 vlan_link_state(struct ifnet *ifp)
 {
+       struct epoch_tracker et;
        struct ifvlantrunk *trunk;
        struct ifvlan *ifv;
 
-       NET_EPOCH_ASSERT();
-
+       NET_EPOCH_ENTER(et);
        trunk = ifp->if_vlantrunk;
-       if (trunk == NULL)
+       if (trunk == NULL) {
+               NET_EPOCH_EXIT(et);
                return;
+       }
 
        TRUNK_WLOCK(trunk);
        VLAN_FOREACH(ifv, trunk) {
@@ -1641,6 +1643,7 @@ vlan_link_state(struct ifnet *ifp)
                    trunk->parent->if_link_state);
        }
        TRUNK_WUNLOCK(trunk);
+       NET_EPOCH_EXIT(et);
 }
 
 static void
@@ -1770,6 +1773,7 @@ vlan_capabilities(struct ifvlan *ifv)
 static void
 vlan_trunk_capabilities(struct ifnet *ifp)
 {
+       struct epoch_tracker et;
        struct ifvlantrunk *trunk;
        struct ifvlan *ifv;
 
@@ -1779,8 +1783,10 @@ vlan_trunk_capabilities(struct ifnet *ifp)
                VLAN_SUNLOCK();
                return;
        }
+       NET_EPOCH_ENTER(et);
        VLAN_FOREACH(ifv, trunk)
                vlan_capabilities(ifv);
+       NET_EPOCH_EXIT(et);
        VLAN_SUNLOCK();
 }
 
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to