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-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"