Module Name: src Committed By: msaitoh Date: Wed Aug 21 06:00:07 UTC 2019
Modified Files: src/sys/dev/pci/ixgbe: ixgbe.c ixv.c src/sys/net: if_vlan.c Log Message: Use ETHER_LOCK()/ETHER_UNLOCK() suggested by knakahara. To generate a diff of this commit: cvs rdiff -u -r1.200 -r1.201 src/sys/dev/pci/ixgbe/ixgbe.c cvs rdiff -u -r1.126 -r1.127 src/sys/dev/pci/ixgbe/ixv.c cvs rdiff -u -r1.144 -r1.145 src/sys/net/if_vlan.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/dev/pci/ixgbe/ixgbe.c diff -u src/sys/dev/pci/ixgbe/ixgbe.c:1.200 src/sys/dev/pci/ixgbe/ixgbe.c:1.201 --- src/sys/dev/pci/ixgbe/ixgbe.c:1.200 Tue Aug 20 04:11:22 2019 +++ src/sys/dev/pci/ixgbe/ixgbe.c Wed Aug 21 06:00:07 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: ixgbe.c,v 1.200 2019/08/20 04:11:22 msaitoh Exp $ */ +/* $NetBSD: ixgbe.c,v 1.201 2019/08/21 06:00:07 msaitoh Exp $ */ /****************************************************************************** @@ -2462,7 +2462,7 @@ ixgbe_setup_vlan_hw_support(struct adapt for (i = 0; i < IXGBE_VFTA_SIZE; i++) adapter->shadow_vfta[i] = 0; /* Generate shadow_vfta from ec_vids */ - mutex_enter(ec->ec_lock); + ETHER_LOCK(ec); SIMPLEQ_FOREACH(vlanidp, &ec->ec_vids, vid_list) { uint32_t idx; @@ -2470,7 +2470,7 @@ ixgbe_setup_vlan_hw_support(struct adapt KASSERT(idx < IXGBE_VFTA_SIZE); adapter->shadow_vfta[idx] |= (u32)1 << (vlanidp->vid % 32); } - mutex_exit(ec->ec_lock); + ETHER_UNLOCK(ec); for (i = 0; i < IXGBE_VFTA_SIZE; i++) IXGBE_WRITE_REG(hw, IXGBE_VFTA(i), adapter->shadow_vfta[i]); Index: src/sys/dev/pci/ixgbe/ixv.c diff -u src/sys/dev/pci/ixgbe/ixv.c:1.126 src/sys/dev/pci/ixgbe/ixv.c:1.127 --- src/sys/dev/pci/ixgbe/ixv.c:1.126 Tue Aug 20 04:11:22 2019 +++ src/sys/dev/pci/ixgbe/ixv.c Wed Aug 21 06:00:07 2019 @@ -1,4 +1,4 @@ -/*$NetBSD: ixv.c,v 1.126 2019/08/20 04:11:22 msaitoh Exp $*/ +/*$NetBSD: ixv.c,v 1.127 2019/08/21 06:00:07 msaitoh Exp $*/ /****************************************************************************** @@ -2001,7 +2001,7 @@ ixv_setup_vlan_support(struct adapter *a for (int i = 0; i < IXGBE_VFTA_SIZE; i++) adapter->shadow_vfta[i] = 0; /* Generate shadow_vfta from ec_vids */ - mutex_enter(ec->ec_lock); + ETHER_LOCK(ec); SIMPLEQ_FOREACH(vlanidp, &ec->ec_vids, vid_list) { uint32_t idx; @@ -2009,7 +2009,7 @@ ixv_setup_vlan_support(struct adapter *a KASSERT(idx < IXGBE_VFTA_SIZE); adapter->shadow_vfta[idx] |= (u32)1 << (vlanidp->vid % 32); } - mutex_exit(ec->ec_lock); + ETHER_UNLOCK(ec); /* * A soft reset zero's out the VFTA, so Index: src/sys/net/if_vlan.c diff -u src/sys/net/if_vlan.c:1.144 src/sys/net/if_vlan.c:1.145 --- src/sys/net/if_vlan.c:1.144 Tue Aug 20 04:11:22 2019 +++ src/sys/net/if_vlan.c Wed Aug 21 06:00:07 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: if_vlan.c,v 1.144 2019/08/20 04:11:22 msaitoh Exp $ */ +/* $NetBSD: if_vlan.c,v 1.145 2019/08/21 06:00:07 msaitoh Exp $ */ /* * Copyright (c) 2000, 2001 The NetBSD Foundation, Inc. @@ -78,7 +78,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: if_vlan.c,v 1.144 2019/08/20 04:11:22 msaitoh Exp $"); +__KERNEL_RCSID(0, "$NetBSD: if_vlan.c,v 1.145 2019/08/21 06:00:07 msaitoh Exp $"); #ifdef _KERNEL_OPT #include "opt_inet.h" @@ -492,9 +492,9 @@ vlan_config(struct ifvlan *ifv, struct i goto viderr; } vidmem->vid = vid; - mutex_enter(ec->ec_lock); + ETHER_LOCK(ec); SIMPLEQ_INSERT_TAIL(&ec->ec_vids, vidmem, vid_list); - mutex_exit(ec->ec_lock); + ETHER_UNLOCK(ec); if (ec->ec_vlan_cb != NULL) { /* @@ -641,7 +641,7 @@ vlan_unconfig_locked(struct ifvlan *ifv, struct vlanid_list *vlanidp, *tmpp; uint16_t vid = EVL_VLANOFTAG(nmib->ifvm_tag); - mutex_enter(ec->ec_lock); + ETHER_LOCK(ec); SIMPLEQ_FOREACH_SAFE(vlanidp, &ec->ec_vids, vid_list, tmpp) { if (vlanidp->vid == vid) { SIMPLEQ_REMOVE(&ec->ec_vids, vlanidp, @@ -649,7 +649,7 @@ vlan_unconfig_locked(struct ifvlan *ifv, kmem_free(vlanidp, sizeof(*vlanidp)); } } - mutex_exit(ec->ec_lock); + ETHER_UNLOCK(ec); if (ec->ec_vlan_cb != NULL) { /* * Call ec_vlan_cb(). It will setup VLAN HW filter or