Thu Mar 3 05:55:19 2022 UTC ()
usbnet drivers: Prune dead IFF_RUNNING branches in *_uno_init.

usbnet(9) guarantees !IFF_RUNNING now before calling it.


(riastradh)
diff -r1.187 -r1.188 src/sys/dev/usb/if_aue.c
diff -r1.78 -r1.79 src/sys/dev/usb/if_mue.c
diff -r1.93 -r1.94 src/sys/dev/usb/if_udav.c
diff -r1.53 -r1.54 src/sys/dev/usb/if_ure.c
diff -r1.41 -r1.42 src/sys/dev/usb/if_urndis.c

cvs diff -r1.187 -r1.188 src/sys/dev/usb/if_aue.c (expand / switch to context diff)
--- src/sys/dev/usb/if_aue.c 2022/03/03 05:55:01 1.187
+++ src/sys/dev/usb/if_aue.c 2022/03/03 05:55:19 1.188
@@ -1,4 +1,4 @@
-/*	$NetBSD: if_aue.c,v 1.187 2022/03/03 05:55:01 riastradh Exp $	*/
+/*	$NetBSD: if_aue.c,v 1.188 2022/03/03 05:55:19 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.187 2022/03/03 05:55:01 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_aue.c,v 1.188 2022/03/03 05:55:19 riastradh Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_usb.h"
@@ -953,10 +953,6 @@
 	AUEHIST_FUNC();
 	AUEHIST_CALLARGSN(5, "aue%jd: enter link=%jd",
 	    device_unit(un->un_dev), usbnet_havelink(un), 0, 0);
-
-	/* Cancel pending I/O */
-	if (ifp->if_flags & IFF_RUNNING)
-		return 0;
 
 	/* Reset the interface. */
 	aue_reset(sc);

cvs diff -r1.78 -r1.79 src/sys/dev/usb/if_mue.c (expand / switch to context diff)
--- src/sys/dev/usb/if_mue.c 2022/03/03 05:55:01 1.78
+++ src/sys/dev/usb/if_mue.c 2022/03/03 05:55:19 1.79
@@ -1,4 +1,4 @@
-/*	$NetBSD: if_mue.c,v 1.78 2022/03/03 05:55:01 riastradh Exp $	*/
+/*	$NetBSD: if_mue.c,v 1.79 2022/03/03 05:55:19 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.78 2022/03/03 05:55:01 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_mue.c,v 1.79 2022/03/03 05:55:19 riastradh Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_usb.h"
@@ -1232,10 +1232,6 @@
 mue_uno_init(struct ifnet *ifp)
 {
 	struct usbnet * const un = ifp->if_softc;
-
-	/* Cancel pending I/O and free all TX/RX buffers. */
-	if (ifp->if_flags & IFF_RUNNING)
-		usbnet_stop(un, ifp, 1);
 
 	mue_reset(un);
 

cvs diff -r1.93 -r1.94 src/sys/dev/usb/if_udav.c (expand / switch to context diff)
--- src/sys/dev/usb/if_udav.c 2022/03/03 05:55:01 1.93
+++ src/sys/dev/usb/if_udav.c 2022/03/03 05:55:19 1.94
@@ -1,4 +1,4 @@
-/*	$NetBSD: if_udav.c,v 1.93 2022/03/03 05:55:01 riastradh Exp $	*/
+/*	$NetBSD: if_udav.c,v 1.94 2022/03/03 05:55:19 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.93 2022/03/03 05:55:01 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_udav.c,v 1.94 2022/03/03 05:55:19 riastradh Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_usb.h"
@@ -470,10 +470,6 @@
 	int rc = 0;
 
 	DPRINTF(("%s: %s: enter\n", device_xname(un->un_dev), __func__));
-
-	/* Cancel pending I/O and free all TX/RX buffers */
-	if (ifp->if_flags & IFF_RUNNING)
-		usbnet_stop(un, ifp, 1);
 
 	memcpy(eaddr, CLLADDR(ifp->if_sadl), sizeof(eaddr));
 	udav_csr_write(un, UDAV_PAR, eaddr, ETHER_ADDR_LEN);

cvs diff -r1.53 -r1.54 src/sys/dev/usb/if_ure.c (expand / switch to context diff)
--- src/sys/dev/usb/if_ure.c 2022/03/03 05:55:01 1.53
+++ src/sys/dev/usb/if_ure.c 2022/03/03 05:55:19 1.54
@@ -1,4 +1,4 @@
-/*	$NetBSD: if_ure.c,v 1.53 2022/03/03 05:55:01 riastradh Exp $	*/
+/*	$NetBSD: if_ure.c,v 1.54 2022/03/03 05:55:19 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.53 2022/03/03 05:55:01 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_ure.c,v 1.54 2022/03/03 05:55:19 riastradh Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_usb.h"
@@ -412,10 +412,6 @@
 {
 	struct usbnet * const un = ifp->if_softc;
 	uint8_t eaddr[8];
-
-	/* Cancel pending I/O. */
-	if (ifp->if_flags & IFF_RUNNING)
-		usbnet_stop(un, ifp, 1);
 
 	/* Set MAC address. */
 	memset(eaddr, 0, sizeof(eaddr));

cvs diff -r1.41 -r1.42 src/sys/dev/usb/if_urndis.c (expand / switch to context diff)
--- src/sys/dev/usb/if_urndis.c 2022/03/03 05:54:45 1.41
+++ src/sys/dev/usb/if_urndis.c 2022/03/03 05:55:19 1.42
@@ -1,4 +1,4 @@
-/*	$NetBSD: if_urndis.c,v 1.41 2022/03/03 05:54:45 riastradh Exp $ */
+/*	$NetBSD: if_urndis.c,v 1.42 2022/03/03 05:55:19 riastradh Exp $ */
 /*	$OpenBSD: if_urndis.c,v 1.31 2011/07/03 15:47:17 matthew Exp $ */
 
 /*
@@ -21,7 +21,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_urndis.c,v 1.41 2022/03/03 05:54:45 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_urndis.c,v 1.42 2022/03/03 05:55:19 riastradh Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_usb.h"
@@ -858,9 +858,6 @@
 urndis_init_un(struct ifnet *ifp, struct usbnet *un)
 {
 	int 			 err;
-
-	if (ifp->if_flags & IFF_RUNNING)
-		return 0;
 
 	err = urndis_ctrl_init(un);
 	if (err != RNDIS_STATUS_SUCCESS)