Module Name:    src
Committed By:   riastradh
Date:           Thu Mar  3 05:54:37 UTC 2022

Modified Files:
        src/sys/dev/usb: if_aue.c if_axe.c if_axen.c if_cue.c if_mue.c
            if_smsc.c if_udav.c if_ure.c if_url.c

Log Message:
usbnet drivers: Omit needless usbnet core lock and assertions.

During attach, the caller has exclusive access to the usbnet until
usbnet_attach_ifp.  At other times, register access is serialized
either by the usbnet multicast lock or by IFNET_LOCK.


To generate a diff of this commit:
cvs rdiff -u -r1.185 -r1.186 src/sys/dev/usb/if_aue.c
cvs rdiff -u -r1.144 -r1.145 src/sys/dev/usb/if_axe.c
cvs rdiff -u -r1.88 -r1.89 src/sys/dev/usb/if_axen.c
cvs rdiff -u -r1.101 -r1.102 src/sys/dev/usb/if_cue.c
cvs rdiff -u -r1.76 -r1.77 src/sys/dev/usb/if_mue.c
cvs rdiff -u -r1.86 -r1.87 src/sys/dev/usb/if_smsc.c
cvs rdiff -u -r1.91 -r1.92 src/sys/dev/usb/if_udav.c
cvs rdiff -u -r1.51 -r1.52 src/sys/dev/usb/if_ure.c
cvs rdiff -u -r1.90 -r1.91 src/sys/dev/usb/if_url.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/usb/if_aue.c
diff -u src/sys/dev/usb/if_aue.c:1.185 src/sys/dev/usb/if_aue.c:1.186
--- src/sys/dev/usb/if_aue.c:1.185	Thu Mar  3 05:54:21 2022
+++ src/sys/dev/usb/if_aue.c	Thu Mar  3 05:54:37 2022
@@ -1,4 +1,4 @@
-/*	$NetBSD: if_aue.c,v 1.185 2022/03/03 05:54:21 riastradh Exp $	*/
+/*	$NetBSD: if_aue.c,v 1.186 2022/03/03 05:54:37 riastradh Exp $	*/
 
 /*
  * Copyright (c) 1997, 1998, 1999, 2000
@@ -76,7 +76,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_aue.c,v 1.185 2022/03/03 05:54:21 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_aue.c,v 1.186 2022/03/03 05:54:37 riastradh Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_usb.h"
@@ -432,8 +432,6 @@ aue_read_mac(struct usbnet *un)
 	int			off = 0;
 	int			word;
 
-	usbnet_isowned_core(un);
-
 	AUEHIST_FUNC();
 	AUEHIST_CALLARGS("aue%jd: enter",
 	    device_unit(un->un_dev), 0, 0, 0);
@@ -851,14 +849,10 @@ aue_attach(device_t parent, device_t sel
 	/* First level attach. */
 	usbnet_attach(un, "auedet");
 
-	usbnet_lock_core(un);
-
 	/* Reset the adapter and get station address from the EEPROM.  */
 	aue_reset(sc);
 	aue_read_mac(un);
 
-	usbnet_unlock_core(un);
-
 	usbnet_attach_ifp(un, IFF_SIMPLEX | IFF_BROADCAST | IFF_MULTICAST,
 	    0, &unm);
 }

Index: src/sys/dev/usb/if_axe.c
diff -u src/sys/dev/usb/if_axe.c:1.144 src/sys/dev/usb/if_axe.c:1.145
--- src/sys/dev/usb/if_axe.c:1.144	Thu Mar  3 05:54:21 2022
+++ src/sys/dev/usb/if_axe.c	Thu Mar  3 05:54:37 2022
@@ -1,4 +1,4 @@
-/*	$NetBSD: if_axe.c,v 1.144 2022/03/03 05:54:21 riastradh Exp $	*/
+/*	$NetBSD: if_axe.c,v 1.145 2022/03/03 05:54:37 riastradh Exp $	*/
 /*	$OpenBSD: if_axe.c,v 1.137 2016/04/13 11:03:37 mpi Exp $ */
 
 /*
@@ -87,7 +87,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_axe.c,v 1.144 2022/03/03 05:54:21 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_axe.c,v 1.145 2022/03/03 05:54:37 riastradh Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_usb.h"
@@ -513,8 +513,6 @@ static void
 axe_reset(struct usbnet *un)
 {
 
-	usbnet_isowned_core(un);
-
 	if (usbnet_isdying(un))
 		return;
 
@@ -930,10 +928,8 @@ axe_attach(device_t parent, device_t sel
 	usbnet_attach(un, "axedet");
 
 	/* We need the PHYID for init dance in some cases */
-	usbnet_lock_core(un);
 	if (axe_cmd(sc, AXE_CMD_READ_PHYID, 0, 0, &sc->axe_phyaddrs)) {
 		aprint_error_dev(self, "failed to read phyaddrs\n");
-		usbnet_unlock_core(un);
 		return;
 	}
 
@@ -963,13 +959,10 @@ axe_attach(device_t parent, device_t sel
 	} else {
 		if (axe_cmd(sc, AXE_CMD_READ_IPG012, 0, 0, sc->axe_ipgs)) {
 			aprint_error_dev(self, "failed to read ipg\n");
-			usbnet_unlock_core(un);
 			return;
 		}
 	}
 
-	usbnet_unlock_core(un);
-
 	if (!AXE_IS_172(un))
 		usbnet_ec(un)->ec_capabilities = ETHERCAP_VLAN_MTU;
 	if (un->un_flags & AX772B) {
@@ -1218,8 +1211,6 @@ axe_uno_init(struct ifnet *ifp)
 	struct axe_softc * const sc = usbnet_softc(un);
 	int rxmode;
 
-	usbnet_isowned_core(un);
-
 	if (usbnet_isdying(un))
 		return EIO;
 

Index: src/sys/dev/usb/if_axen.c
diff -u src/sys/dev/usb/if_axen.c:1.88 src/sys/dev/usb/if_axen.c:1.89
--- src/sys/dev/usb/if_axen.c:1.88	Thu Mar  3 05:54:21 2022
+++ src/sys/dev/usb/if_axen.c	Thu Mar  3 05:54:37 2022
@@ -1,4 +1,4 @@
-/*	$NetBSD: if_axen.c,v 1.88 2022/03/03 05:54:21 riastradh Exp $	*/
+/*	$NetBSD: if_axen.c,v 1.89 2022/03/03 05:54:37 riastradh Exp $	*/
 /*	$OpenBSD: if_axen.c,v 1.3 2013/10/21 10:10:22 yuo Exp $	*/
 
 /*
@@ -23,7 +23,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_axen.c,v 1.88 2022/03/03 05:54:21 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_axen.c,v 1.89 2022/03/03 05:54:37 riastradh Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_usb.h"
@@ -295,7 +295,6 @@ allmulti:
 static void
 axen_reset(struct usbnet *un)
 {
-	usbnet_isowned_core(un);
 	if (usbnet_isdying(un))
 		return;
 	/* XXX What to reset? */
@@ -367,8 +366,6 @@ axen_ax88179_init(struct usbnet *un)
 	uint16_t wval;
 	uint8_t val;
 
-	usbnet_lock_core(un);
-
 	/* XXX: ? */
 	axen_cmd(un, AXEN_CMD_MAC_READ, 1, AXEN_UNK_05, &val);
 	DPRINTFN(5, ("AXEN_CMD_MAC_READ(0x05): 0x%02x\n", val));
@@ -451,7 +448,6 @@ axen_ax88179_init(struct usbnet *un)
 	default:
 		aprint_error_dev(un->un_dev, "unknown uplink bus:0x%02x\n",
 		    val);
-		usbnet_unlock_core(un);
 		return;
 	}
 	axen_cmd(un, AXEN_CMD_MAC_SET_RXSR, 5, AXEN_RX_BULKIN_QCTRL, &qctrl);
@@ -509,8 +505,6 @@ axen_ax88179_init(struct usbnet *un)
 	axen_uno_mii_write_reg(un, un->un_phyno, 0x01, wval | 0x0080);
 	axen_uno_mii_write_reg(un, un->un_phyno, 0x1F, 0x0000);
 #endif
-
-	usbnet_unlock_core(un);
 }
 
 static void
@@ -554,8 +548,6 @@ axen_uno_ioctl(struct ifnet *ifp, u_long
 {
 	struct usbnet * const un = ifp->if_softc;
 
-	usbnet_lock_core(un);
-
 	switch (cmd) {
 	case SIOCSIFCAP:
 		axen_setoe_locked(un);
@@ -564,8 +556,6 @@ axen_uno_ioctl(struct ifnet *ifp, u_long
 		break;
 	}
 
-	usbnet_unlock_core(un);
-
 	return 0;
 }
 
@@ -666,13 +656,10 @@ axen_attach(device_t parent, device_t se
 	DPRINTF(("%s: phyno %d\n", device_xname(self), un->un_phyno));
 
 	/* Get station address.  */
-	usbnet_lock_core(un);
 	if (axen_get_eaddr(un, &un->un_eaddr)) {
-		usbnet_unlock_core(un);
 		printf("EEPROM checksum error\n");
 		return;
 	}
-	usbnet_unlock_core(un);
 
 	axen_ax88179_init(un);
 
@@ -889,8 +876,6 @@ axen_uno_init(struct ifnet *ifp)
 	uint16_t wval;
 	uint8_t bval;
 
-	usbnet_isowned_core(un);
-
 	if (usbnet_isdying(un))
 		return EIO;
 

Index: src/sys/dev/usb/if_cue.c
diff -u src/sys/dev/usb/if_cue.c:1.101 src/sys/dev/usb/if_cue.c:1.102
--- src/sys/dev/usb/if_cue.c:1.101	Thu Mar  3 05:53:33 2022
+++ src/sys/dev/usb/if_cue.c	Thu Mar  3 05:54:37 2022
@@ -1,4 +1,4 @@
-/*	$NetBSD: if_cue.c,v 1.101 2022/03/03 05:53:33 riastradh Exp $	*/
+/*	$NetBSD: if_cue.c,v 1.102 2022/03/03 05:54:37 riastradh Exp $	*/
 
 /*
  * Copyright (c) 1997, 1998, 1999, 2000
@@ -57,7 +57,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_cue.c,v 1.101 2022/03/03 05:53:33 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_cue.c,v 1.102 2022/03/03 05:54:37 riastradh Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_inet.h"
@@ -545,8 +545,6 @@ cue_uno_tick(struct usbnet *un)
 {
 	struct ifnet		*ifp = usbnet_ifp(un);
 
-	usbnet_lock_core(un);
-
 	net_stat_ref_t nsr = IF_STAT_GETREF(ifp);
 	if (cue_csr_read_2(un, CUE_RX_FRAMEERR))
 		if_statinc_ref(nsr, if_ierrors);
@@ -558,8 +556,6 @@ cue_uno_tick(struct usbnet *un)
 	if_statadd_ref(nsr, if_collisions,
 	    cue_csr_read_2(un, CUE_TX_EXCESSCOLL));
 	IF_STAT_PUTREF(ifp);
-
-	usbnet_unlock_core(un);
 }
 
 static void

Index: src/sys/dev/usb/if_mue.c
diff -u src/sys/dev/usb/if_mue.c:1.76 src/sys/dev/usb/if_mue.c:1.77
--- src/sys/dev/usb/if_mue.c:1.76	Thu Mar  3 05:54:21 2022
+++ src/sys/dev/usb/if_mue.c	Thu Mar  3 05:54:37 2022
@@ -1,4 +1,4 @@
-/*	$NetBSD: if_mue.c,v 1.76 2022/03/03 05:54:21 riastradh Exp $	*/
+/*	$NetBSD: if_mue.c,v 1.77 2022/03/03 05:54:37 riastradh Exp $	*/
 /*	$OpenBSD: if_mue.c,v 1.3 2018/08/04 16:42:46 jsg Exp $	*/
 
 /*
@@ -20,7 +20,7 @@
 /* Driver for Microchip LAN7500/LAN7800 chipsets. */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_mue.c,v 1.76 2022/03/03 05:54:21 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_mue.c,v 1.77 2022/03/03 05:54:37 riastradh Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_usb.h"
@@ -1261,8 +1261,6 @@ mue_uno_ioctl(struct ifnet *ifp, u_long 
 {
 	struct usbnet * const un = ifp->if_softc;
 
-	usbnet_lock_core(un);
-
 	switch (cmd) {
 	case SIOCSIFCAP:
 		mue_sethwcsum_locked(un);
@@ -1274,8 +1272,6 @@ mue_uno_ioctl(struct ifnet *ifp, u_long 
 		break;
 	}
 
-	usbnet_unlock_core(un);
-
 	return 0;
 }
 

Index: src/sys/dev/usb/if_smsc.c
diff -u src/sys/dev/usb/if_smsc.c:1.86 src/sys/dev/usb/if_smsc.c:1.87
--- src/sys/dev/usb/if_smsc.c:1.86	Thu Mar  3 05:54:21 2022
+++ src/sys/dev/usb/if_smsc.c	Thu Mar  3 05:54:37 2022
@@ -1,4 +1,4 @@
-/*	$NetBSD: if_smsc.c,v 1.86 2022/03/03 05:54:21 riastradh Exp $	*/
+/*	$NetBSD: if_smsc.c,v 1.87 2022/03/03 05:54:37 riastradh Exp $	*/
 
 /*	$OpenBSD: if_smsc.c,v 1.4 2012/09/27 12:38:11 jsg Exp $	*/
 /*	$FreeBSD: src/sys/dev/usb/net/if_smsc.c,v 1.1 2012/08/15 04:03:55 gonzo Exp $ */
@@ -61,7 +61,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_smsc.c,v 1.86 2022/03/03 05:54:21 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_smsc.c,v 1.87 2022/03/03 05:54:37 riastradh Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_usb.h"
@@ -539,7 +539,6 @@ smsc_reset(struct smsc_softc *sc)
 {
 	struct usbnet * const un = &sc->smsc_un;
 
-	usbnet_isowned_core(un);
 	if (usbnet_isdying(un))
 		return;
 
@@ -556,8 +555,6 @@ smsc_uno_init(struct ifnet *ifp)
 	struct usbnet * const un = ifp->if_softc;
 	struct smsc_softc * const sc = usbnet_softc(un);
 
-	usbnet_isowned_core(un);
-
 	if (usbnet_isdying(un))
 		return EIO;
 
@@ -591,8 +588,6 @@ smsc_chip_init(struct usbnet *un)
 	int burst_cap;
 	int err;
 
-	usbnet_isowned_core(un);
-
 	/* Enter H/W config mode */
 	smsc_writereg(un, SMSC_HW_CFG, SMSC_HW_CFG_LRST);
 
@@ -739,8 +734,6 @@ smsc_uno_ioctl(struct ifnet *ifp, u_long
 {
 	struct usbnet * const un = ifp->if_softc;
 
-	usbnet_lock_core(un);
-
 	switch (cmd) {
 	case SIOCSIFCAP:
 		smsc_setoe_locked(un);
@@ -749,8 +742,6 @@ smsc_uno_ioctl(struct ifnet *ifp, u_long
 		break;
 	}
 
-	usbnet_unlock_core(un);
-
 	return 0;
 }
 
@@ -859,7 +850,6 @@ smsc_attach(device_t parent, device_t se
 	/* Setup some of the basics */
 	un->un_phyno = 1;
 
-	usbnet_lock_core(un);
 	/*
 	 * Attempt to get the mac address, if an EEPROM is not attached this
 	 * will just return FF:FF:FF:FF:FF:FF, so in such cases we invent a MAC
@@ -887,7 +877,6 @@ smsc_attach(device_t parent, device_t se
 			un->un_eaddr[0] = (uint8_t)((mac_l) & 0xff);
 		}
 	}
-	usbnet_unlock_core(un);
 
 	usbnet_attach_ifp(un, IFF_SIMPLEX | IFF_BROADCAST | IFF_MULTICAST,
 	    0, &unm);

Index: src/sys/dev/usb/if_udav.c
diff -u src/sys/dev/usb/if_udav.c:1.91 src/sys/dev/usb/if_udav.c:1.92
--- src/sys/dev/usb/if_udav.c:1.91	Thu Mar  3 05:54:21 2022
+++ src/sys/dev/usb/if_udav.c	Thu Mar  3 05:54:37 2022
@@ -1,4 +1,4 @@
-/*	$NetBSD: if_udav.c,v 1.91 2022/03/03 05:54:21 riastradh Exp $	*/
+/*	$NetBSD: if_udav.c,v 1.92 2022/03/03 05:54:37 riastradh Exp $	*/
 /*	$nabe: if_udav.c,v 1.3 2003/08/21 16:57:19 nabe Exp $	*/
 
 /*
@@ -45,7 +45,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_udav.c,v 1.91 2022/03/03 05:54:21 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_udav.c,v 1.92 2022/03/03 05:54:37 riastradh Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_usb.h"
@@ -238,14 +238,11 @@ udav_attach(device_t parent, device_t se
 
 	usbnet_attach(un, "udavdet");
 
-	usbnet_lock_core(un);
-
 // 	/* reset the adapter */
 // 	udav_reset(un);
 
 	/* Get Ethernet Address */
 	err = udav_csr_read(un, UDAV_PAR, un->un_eaddr, ETHER_ADDR_LEN);
-	usbnet_unlock_core(un);
 	if (err) {
 		aprint_error_dev(self, "read MAC address failed\n");
 		return;
@@ -523,7 +520,6 @@ udav_uno_init(struct ifnet *ifp)
 static void
 udav_reset(struct usbnet *un)
 {
-    	usbnet_isowned_core(un);
 
 	if (usbnet_isdying(un))
 		return;
@@ -536,7 +532,6 @@ udav_reset(struct usbnet *un)
 static void
 udav_chip_init(struct usbnet *un)
 {
-	usbnet_isowned_core(un);
 
 	/* Select PHY */
 #if 1

Index: src/sys/dev/usb/if_ure.c
diff -u src/sys/dev/usb/if_ure.c:1.51 src/sys/dev/usb/if_ure.c:1.52
--- src/sys/dev/usb/if_ure.c:1.51	Thu Mar  3 05:54:21 2022
+++ src/sys/dev/usb/if_ure.c	Thu Mar  3 05:54:37 2022
@@ -1,4 +1,4 @@
-/*	$NetBSD: if_ure.c,v 1.51 2022/03/03 05:54:21 riastradh Exp $	*/
+/*	$NetBSD: if_ure.c,v 1.52 2022/03/03 05:54:37 riastradh Exp $	*/
 /*	$OpenBSD: if_ure.c,v 1.10 2018/11/02 21:32:30 jcs Exp $	*/
 
 /*-
@@ -30,7 +30,7 @@
 /* RealTek RTL8152/RTL8153 10/100/Gigabit USB Ethernet device */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_ure.c,v 1.51 2022/03/03 05:54:21 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_ure.c,v 1.52 2022/03/03 05:54:37 riastradh Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_usb.h"
@@ -393,8 +393,6 @@ ure_reset(struct usbnet *un)
 {
 	int i;
 
-	usbnet_isowned_core(un);
-
 	ure_write_1(un, URE_PLA_CR, URE_MCU_TYPE_PLA, URE_CR_RST);
 
 	for (i = 0; i < URE_TIMEOUT; i++) {
@@ -415,8 +413,6 @@ ure_uno_init(struct ifnet *ifp)
 	struct usbnet * const un = ifp->if_softc;
 	uint8_t eaddr[8];
 
-	usbnet_isowned_core(un);
-
 	if (usbnet_isdying(un))
 		return EIO;
 
@@ -899,7 +895,6 @@ ure_attach(device_t parent, device_t sel
 	    (un->un_flags != 0) ? "" : "unknown ",
 	    ver);
 
-	usbnet_lock_core(un);
 	if (un->un_flags & URE_FLAG_8152)
 		ure_rtl8152_init(un);
 	else
@@ -912,7 +907,6 @@ ure_attach(device_t parent, device_t sel
 	else
 		ure_read_mem(un, URE_PLA_BACKUP, URE_MCU_TYPE_PLA, eaddr,
 		    sizeof(eaddr));
-	usbnet_unlock_core(un);
 	if (ETHER_IS_ZERO(eaddr)) {
 		maclo = 0x00f2 | (cprng_strong32() & 0xffff0000);
 		machi = cprng_strong32() & 0xffff;

Index: src/sys/dev/usb/if_url.c
diff -u src/sys/dev/usb/if_url.c:1.90 src/sys/dev/usb/if_url.c:1.91
--- src/sys/dev/usb/if_url.c:1.90	Thu Mar  3 05:54:21 2022
+++ src/sys/dev/usb/if_url.c	Thu Mar  3 05:54:37 2022
@@ -1,4 +1,4 @@
-/*	$NetBSD: if_url.c,v 1.90 2022/03/03 05:54:21 riastradh Exp $	*/
+/*	$NetBSD: if_url.c,v 1.91 2022/03/03 05:54:37 riastradh Exp $	*/
 
 /*
  * Copyright (c) 2001, 2002
@@ -44,7 +44,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_url.c,v 1.90 2022/03/03 05:54:21 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_url.c,v 1.91 2022/03/03 05:54:37 riastradh Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_inet.h"
@@ -242,15 +242,12 @@ url_attach(device_t parent, device_t sel
 	/* Set these up now for url_mem().  */
 	usbnet_attach(un, "urldet");
 
-	usbnet_lock_core(un);
-
 	/* reset the adapter */
 	url_reset(un);
 
 	/* Get Ethernet Address */
 	err = url_mem(un, URL_CMD_READMEM, URL_IDR0, (void *)un->un_eaddr,
 		      ETHER_ADDR_LEN);
-	usbnet_unlock_core(un);
 	if (err) {
 		aprint_error_dev(self, "read MAC address failed\n");
 		return;
@@ -373,8 +370,6 @@ url_uno_init(struct ifnet *ifp)
 
 	DPRINTF(("%s: %s: enter\n", device_xname(un->un_dev), __func__));
 
-	usbnet_isowned_core(un);
-
 	if (usbnet_isdying(un))
 		return EIO;
 

Reply via email to