Module Name:    src
Committed By:   riastradh
Date:           Thu Mar  3 05:56:10 UTC 2022

Modified Files:
        src/sys/dev/usb: if_aue.c if_axe.c if_axen.c if_cdce.c if_cue.c
            if_kue.c if_mos.c if_mue.c if_smsc.c if_udav.c if_upl.c if_ure.c
            if_url.c if_urndis.c usbnet.c usbnet.h

Log Message:
usbnet: Factor usbnet_init_rx_tx out into usbnet_if_init.

Make it private; no need for drivers to call it any more.


To generate a diff of this commit:
cvs rdiff -u -r1.188 -r1.189 src/sys/dev/usb/if_aue.c
cvs rdiff -u -r1.148 -r1.149 src/sys/dev/usb/if_axe.c
cvs rdiff -u -r1.91 -r1.92 src/sys/dev/usb/if_axen.c
cvs rdiff -u -r1.78 -r1.79 src/sys/dev/usb/if_cdce.c
cvs rdiff -u -r1.104 -r1.105 src/sys/dev/usb/if_cue.c
cvs rdiff -u -r1.116 -r1.117 src/sys/dev/usb/if_kue.c
cvs rdiff -u -r1.20 -r1.21 src/sys/dev/usb/if_mos.c
cvs rdiff -u -r1.79 -r1.80 src/sys/dev/usb/if_mue.c
cvs rdiff -u -r1.90 -r1.91 src/sys/dev/usb/if_smsc.c
cvs rdiff -u -r1.95 -r1.96 src/sys/dev/usb/if_udav.c
cvs rdiff -u -r1.74 -r1.75 src/sys/dev/usb/if_upl.c
cvs rdiff -u -r1.54 -r1.55 src/sys/dev/usb/if_ure.c
cvs rdiff -u -r1.94 -r1.95 src/sys/dev/usb/if_url.c
cvs rdiff -u -r1.44 -r1.45 src/sys/dev/usb/if_urndis.c
cvs rdiff -u -r1.87 -r1.88 src/sys/dev/usb/usbnet.c
cvs rdiff -u -r1.29 -r1.30 src/sys/dev/usb/usbnet.h

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.188 src/sys/dev/usb/if_aue.c:1.189
--- src/sys/dev/usb/if_aue.c:1.188	Thu Mar  3 05:55:19 2022
+++ src/sys/dev/usb/if_aue.c	Thu Mar  3 05:56:09 2022
@@ -1,4 +1,4 @@
-/*	$NetBSD: if_aue.c,v 1.188 2022/03/03 05:55:19 riastradh Exp $	*/
+/*	$NetBSD: if_aue.c,v 1.189 2022/03/03 05:56:09 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.188 2022/03/03 05:55:19 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_aue.c,v 1.189 2022/03/03 05:56:09 riastradh Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_usb.h"
@@ -972,7 +972,7 @@ aue_uno_init(struct ifnet *ifp)
 	AUE_SETBIT(sc, AUE_CTL0, AUE_CTL0_TX_ENB);
 	AUE_SETBIT(sc, AUE_CTL2, AUE_CTL2_EP3_CLR);
 
-	return usbnet_init_rx_tx(un);
+	return 0;
 }
 
 static void

Index: src/sys/dev/usb/if_axe.c
diff -u src/sys/dev/usb/if_axe.c:1.148 src/sys/dev/usb/if_axe.c:1.149
--- src/sys/dev/usb/if_axe.c:1.148	Thu Mar  3 05:55:38 2022
+++ src/sys/dev/usb/if_axe.c	Thu Mar  3 05:56:09 2022
@@ -1,4 +1,4 @@
-/*	$NetBSD: if_axe.c,v 1.148 2022/03/03 05:55:38 riastradh Exp $	*/
+/*	$NetBSD: if_axe.c,v 1.149 2022/03/03 05:56:09 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.148 2022/03/03 05:55:38 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_axe.c,v 1.149 2022/03/03 05:56:09 riastradh Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_usb.h"
@@ -1286,7 +1286,7 @@ axe_uno_init(struct ifnet *ifp)
 
 	axe_cmd(sc, AXE_CMD_RXCTL_WRITE, 0, rxmode, NULL);
 
-	return usbnet_init_rx_tx(un);
+	return 0;
 }
 
 static void

Index: src/sys/dev/usb/if_axen.c
diff -u src/sys/dev/usb/if_axen.c:1.91 src/sys/dev/usb/if_axen.c:1.92
--- src/sys/dev/usb/if_axen.c:1.91	Thu Mar  3 05:55:29 2022
+++ src/sys/dev/usb/if_axen.c	Thu Mar  3 05:56:09 2022
@@ -1,4 +1,4 @@
-/*	$NetBSD: if_axen.c,v 1.91 2022/03/03 05:55:29 riastradh Exp $	*/
+/*	$NetBSD: if_axen.c,v 1.92 2022/03/03 05:56:09 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.91 2022/03/03 05:55:29 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_axen.c,v 1.92 2022/03/03 05:56:09 riastradh Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_usb.h"
@@ -896,7 +896,7 @@ axen_uno_init(struct ifnet *ifp)
 	wval = htole16(rxmode);
 	axen_cmd(un, AXEN_CMD_MAC_WRITE2, 2, AXEN_MAC_RXCTL, &wval);
 
-	return usbnet_init_rx_tx(un);
+	return 0;
 }
 
 static void

Index: src/sys/dev/usb/if_cdce.c
diff -u src/sys/dev/usb/if_cdce.c:1.78 src/sys/dev/usb/if_cdce.c:1.79
--- src/sys/dev/usb/if_cdce.c:1.78	Thu Mar  3 05:56:00 2022
+++ src/sys/dev/usb/if_cdce.c	Thu Mar  3 05:56:09 2022
@@ -1,4 +1,4 @@
-/*	$NetBSD: if_cdce.c,v 1.78 2022/03/03 05:56:00 riastradh Exp $ */
+/*	$NetBSD: if_cdce.c,v 1.79 2022/03/03 05:56:09 riastradh Exp $ */
 
 /*
  * Copyright (c) 1997, 1998, 1999, 2000-2003 Bill Paul <wp...@windriver.com>
@@ -40,7 +40,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_cdce.c,v 1.78 2022/03/03 05:56:00 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_cdce.c,v 1.79 2022/03/03 05:56:09 riastradh Exp $");
 
 #include <sys/param.h>
 
@@ -258,9 +258,8 @@ cdce_attach(device_t parent, device_t se
 static int
 cdce_uno_init(struct ifnet *ifp)
 {
-	struct usbnet		*un = ifp->if_softc;
 
-	return usbnet_init_rx_tx(un);
+	return 0;
 }
 
 static void

Index: src/sys/dev/usb/if_cue.c
diff -u src/sys/dev/usb/if_cue.c:1.104 src/sys/dev/usb/if_cue.c:1.105
--- src/sys/dev/usb/if_cue.c:1.104	Thu Mar  3 05:55:29 2022
+++ src/sys/dev/usb/if_cue.c	Thu Mar  3 05:56:09 2022
@@ -1,4 +1,4 @@
-/*	$NetBSD: if_cue.c,v 1.104 2022/03/03 05:55:29 riastradh Exp $	*/
+/*	$NetBSD: if_cue.c,v 1.105 2022/03/03 05:56:09 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.104 2022/03/03 05:55:29 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_cue.c,v 1.105 2022/03/03 05:56:09 riastradh Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_inet.h"
@@ -654,7 +654,7 @@ cue_uno_init(struct ifnet *ifp)
 	/* Program the LED operation. */
 	cue_csr_write_1(un, CUE_LEDCTL, CUE_LEDCTL_FOLLOW_LINK);
 
-	return usbnet_init_rx_tx(un);
+	return 0;
 }
 
 /* Stop and reset the adapter.  */

Index: src/sys/dev/usb/if_kue.c
diff -u src/sys/dev/usb/if_kue.c:1.116 src/sys/dev/usb/if_kue.c:1.117
--- src/sys/dev/usb/if_kue.c:1.116	Thu Mar  3 05:55:29 2022
+++ src/sys/dev/usb/if_kue.c	Thu Mar  3 05:56:09 2022
@@ -1,4 +1,4 @@
-/*	$NetBSD: if_kue.c,v 1.116 2022/03/03 05:55:29 riastradh Exp $	*/
+/*	$NetBSD: if_kue.c,v 1.117 2022/03/03 05:56:09 riastradh Exp $	*/
 
 /*
  * Copyright (c) 1997, 1998, 1999, 2000
@@ -71,7 +71,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_kue.c,v 1.116 2022/03/03 05:55:29 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_kue.c,v 1.117 2022/03/03 05:56:09 riastradh Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_inet.h"
@@ -615,7 +615,7 @@ kue_uno_init(struct ifnet *ifp)
 #endif
 	kue_setword(un, KUE_CMD_SET_URB_SIZE, 64);
 
-	return usbnet_init_rx_tx(un);
+	return 0;
 }
 
 #ifdef _MODULE

Index: src/sys/dev/usb/if_mos.c
diff -u src/sys/dev/usb/if_mos.c:1.20 src/sys/dev/usb/if_mos.c:1.21
--- src/sys/dev/usb/if_mos.c:1.20	Thu Mar  3 05:55:38 2022
+++ src/sys/dev/usb/if_mos.c	Thu Mar  3 05:56:09 2022
@@ -1,4 +1,4 @@
-/*	$NetBSD: if_mos.c,v 1.20 2022/03/03 05:55:38 riastradh Exp $	*/
+/*	$NetBSD: if_mos.c,v 1.21 2022/03/03 05:56:09 riastradh Exp $	*/
 /*	$OpenBSD: if_mos.c,v 1.40 2019/07/07 06:40:10 kevlo Exp $	*/
 
 /*
@@ -72,7 +72,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_mos.c,v 1.20 2022/03/03 05:55:38 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_mos.c,v 1.21 2022/03/03 05:56:09 riastradh Exp $");
 
 #include <sys/param.h>
 
@@ -750,7 +750,7 @@ mos_uno_init(struct ifnet *ifp)
 	rxmode &= ~(MOS_CTL_SLEEP);
 	mos_reg_write_1(un, MOS_CTL, rxmode);
 
-	return usbnet_init_rx_tx(un);
+	return 0;
 }
 
 void

Index: src/sys/dev/usb/if_mue.c
diff -u src/sys/dev/usb/if_mue.c:1.79 src/sys/dev/usb/if_mue.c:1.80
--- src/sys/dev/usb/if_mue.c:1.79	Thu Mar  3 05:55:19 2022
+++ src/sys/dev/usb/if_mue.c	Thu Mar  3 05:56:09 2022
@@ -1,4 +1,4 @@
-/*	$NetBSD: if_mue.c,v 1.79 2022/03/03 05:55:19 riastradh Exp $	*/
+/*	$NetBSD: if_mue.c,v 1.80 2022/03/03 05:56:09 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.79 2022/03/03 05:55:19 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_mue.c,v 1.80 2022/03/03 05:56:09 riastradh Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_usb.h"
@@ -1244,7 +1244,7 @@ mue_uno_init(struct ifnet *ifp)
 	/* Set MTU. */
 	mue_setmtu_locked(un);
 
-	return usbnet_init_rx_tx(un);
+	return 0;
 }
 
 static int

Index: src/sys/dev/usb/if_smsc.c
diff -u src/sys/dev/usb/if_smsc.c:1.90 src/sys/dev/usb/if_smsc.c:1.91
--- src/sys/dev/usb/if_smsc.c:1.90	Thu Mar  3 05:55:38 2022
+++ src/sys/dev/usb/if_smsc.c	Thu Mar  3 05:56:09 2022
@@ -1,4 +1,4 @@
-/*	$NetBSD: if_smsc.c,v 1.90 2022/03/03 05:55:38 riastradh Exp $	*/
+/*	$NetBSD: if_smsc.c,v 1.91 2022/03/03 05:56:09 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.90 2022/03/03 05:55:38 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_smsc.c,v 1.91 2022/03/03 05:56:09 riastradh Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_usb.h"
@@ -561,7 +561,7 @@ smsc_uno_init(struct ifnet *ifp)
 	/* TCP/UDP checksum offload engines. */
 	smsc_setoe_locked(un);
 
-	return usbnet_init_rx_tx(un);
+	return 0;
 }
 
 static void

Index: src/sys/dev/usb/if_udav.c
diff -u src/sys/dev/usb/if_udav.c:1.95 src/sys/dev/usb/if_udav.c:1.96
--- src/sys/dev/usb/if_udav.c:1.95	Thu Mar  3 05:56:00 2022
+++ src/sys/dev/usb/if_udav.c	Thu Mar  3 05:56:09 2022
@@ -1,4 +1,4 @@
-/*	$NetBSD: if_udav.c,v 1.95 2022/03/03 05:56:00 riastradh Exp $	*/
+/*	$NetBSD: if_udav.c,v 1.96 2022/03/03 05:56:09 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.95 2022/03/03 05:56:00 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_udav.c,v 1.96 2022/03/03 05:56:09 riastradh Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_usb.h"
@@ -504,7 +504,7 @@ udav_uno_init(struct ifnet *ifp)
 	if (usbnet_isdying(un))
 		return EIO;
 
-	return usbnet_init_rx_tx(un);
+	return 0;
 }
 
 static void

Index: src/sys/dev/usb/if_upl.c
diff -u src/sys/dev/usb/if_upl.c:1.74 src/sys/dev/usb/if_upl.c:1.75
--- src/sys/dev/usb/if_upl.c:1.74	Thu Mar  3 05:56:00 2022
+++ src/sys/dev/usb/if_upl.c	Thu Mar  3 05:56:09 2022
@@ -1,4 +1,4 @@
-/*	$NetBSD: if_upl.c,v 1.74 2022/03/03 05:56:00 riastradh Exp $	*/
+/*	$NetBSD: if_upl.c,v 1.75 2022/03/03 05:56:09 riastradh Exp $	*/
 
 /*
  * Copyright (c) 2000 The NetBSD Foundation, Inc.
@@ -35,7 +35,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_upl.c,v 1.74 2022/03/03 05:56:00 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_upl.c,v 1.75 2022/03/03 05:56:09 riastradh Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_inet.h"
@@ -254,9 +254,8 @@ upl_uno_tx_prepare(struct usbnet *un, st
 static int
 upl_uno_init(struct ifnet *ifp)
 {
-	struct usbnet * const un = ifp->if_softc;
 
-	return usbnet_init_rx_tx(un);
+	return 0;
 }
 
 static int

Index: src/sys/dev/usb/if_ure.c
diff -u src/sys/dev/usb/if_ure.c:1.54 src/sys/dev/usb/if_ure.c:1.55
--- src/sys/dev/usb/if_ure.c:1.54	Thu Mar  3 05:55:19 2022
+++ src/sys/dev/usb/if_ure.c	Thu Mar  3 05:56:09 2022
@@ -1,4 +1,4 @@
-/*	$NetBSD: if_ure.c,v 1.54 2022/03/03 05:55:19 riastradh Exp $	*/
+/*	$NetBSD: if_ure.c,v 1.55 2022/03/03 05:56:09 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.54 2022/03/03 05:55:19 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_ure.c,v 1.55 2022/03/03 05:56:09 riastradh Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_usb.h"
@@ -438,7 +438,7 @@ ure_uno_init(struct ifnet *ifp)
 	    ure_read_2(un, URE_PLA_MISC_1, URE_MCU_TYPE_PLA) &
 	    ~URE_RXDY_GATED_EN);
 
-	return usbnet_init_rx_tx(un);
+	return 0;
 }
 
 static void

Index: src/sys/dev/usb/if_url.c
diff -u src/sys/dev/usb/if_url.c:1.94 src/sys/dev/usb/if_url.c:1.95
--- src/sys/dev/usb/if_url.c:1.94	Thu Mar  3 05:55:45 2022
+++ src/sys/dev/usb/if_url.c	Thu Mar  3 05:56:09 2022
@@ -1,4 +1,4 @@
-/*	$NetBSD: if_url.c,v 1.94 2022/03/03 05:55:45 riastradh Exp $	*/
+/*	$NetBSD: if_url.c,v 1.95 2022/03/03 05:56:09 riastradh Exp $	*/
 
 /*
  * Copyright (c) 2001, 2002
@@ -44,7 +44,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_url.c,v 1.94 2022/03/03 05:55:45 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_url.c,v 1.95 2022/03/03 05:56:09 riastradh Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_inet.h"
@@ -388,7 +388,7 @@ url_uno_init(struct ifnet *ifp)
 	/* Enable RX and TX */
 	URL_SETBIT(un, URL_CR, URL_CR_TE | URL_CR_RE);
 
-	return usbnet_init_rx_tx(un);
+	return 0;
 }
 
 static void

Index: src/sys/dev/usb/if_urndis.c
diff -u src/sys/dev/usb/if_urndis.c:1.44 src/sys/dev/usb/if_urndis.c:1.45
--- src/sys/dev/usb/if_urndis.c:1.44	Thu Mar  3 05:56:00 2022
+++ src/sys/dev/usb/if_urndis.c	Thu Mar  3 05:56:09 2022
@@ -1,4 +1,4 @@
-/*	$NetBSD: if_urndis.c,v 1.44 2022/03/03 05:56:00 riastradh Exp $ */
+/*	$NetBSD: if_urndis.c,v 1.45 2022/03/03 05:56:09 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.44 2022/03/03 05:56:00 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_urndis.c,v 1.45 2022/03/03 05:56:09 riastradh Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_usb.h"
@@ -878,7 +878,7 @@ urndis_uno_init(struct ifnet *ifp)
 	if (error)
 		return EIO;	/* XXX */
 
-	return usbnet_init_rx_tx(un);
+	return 0;
 }
 
 static int

Index: src/sys/dev/usb/usbnet.c
diff -u src/sys/dev/usb/usbnet.c:1.87 src/sys/dev/usb/usbnet.c:1.88
--- src/sys/dev/usb/usbnet.c:1.87	Thu Mar  3 05:55:52 2022
+++ src/sys/dev/usb/usbnet.c	Thu Mar  3 05:56:09 2022
@@ -1,4 +1,4 @@
-/*	$NetBSD: usbnet.c,v 1.87 2022/03/03 05:55:52 riastradh Exp $	*/
+/*	$NetBSD: usbnet.c,v 1.88 2022/03/03 05:56:09 riastradh Exp $	*/
 
 /*
  * Copyright (c) 2019 Matthew R. Green
@@ -31,7 +31,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: usbnet.c,v 1.87 2022/03/03 05:55:52 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: usbnet.c,v 1.88 2022/03/03 05:56:09 riastradh Exp $");
 
 #include <sys/param.h>
 #include <sys/kernel.h>
@@ -834,7 +834,7 @@ usbnet_ep_stop_pipes(struct usbnet * con
 	return err;
 }
 
-int
+static int
 usbnet_init_rx_tx(struct usbnet * const un)
 {
 	USBNETHIST_FUNC(); USBNETHIST_CALLED();
@@ -1290,7 +1290,12 @@ usbnet_if_init(struct ifnet *ifp)
 
 	mutex_enter(&un->un_pri->unp_core_lock);
 	error = uno_init(un, ifp);
-	mutex_exit(&un->un_pri->unp_core_lock);
+	if (error)
+		goto out;
+	error = usbnet_init_rx_tx(un);
+	if (error)
+		goto out;
+out:	mutex_exit(&un->un_pri->unp_core_lock);
 
 	return error;
 }

Index: src/sys/dev/usb/usbnet.h
diff -u src/sys/dev/usb/usbnet.h:1.29 src/sys/dev/usb/usbnet.h:1.30
--- src/sys/dev/usb/usbnet.h:1.29	Thu Mar  3 05:55:29 2022
+++ src/sys/dev/usb/usbnet.h	Thu Mar  3 05:56:09 2022
@@ -1,4 +1,4 @@
-/*	$NetBSD: usbnet.h,v 1.29 2022/03/03 05:55:29 riastradh Exp $	*/
+/*	$NetBSD: usbnet.h,v 1.30 2022/03/03 05:56:09 riastradh Exp $	*/
 
 /*
  * Copyright (c) 2019 Matthew R. Green
@@ -307,10 +307,7 @@ bool usbnet_isdying(struct usbnet *);
  * usbnet_detach() frees the rx/tx chains
  *
  * Setup un_ed[] with valid end points before calling usbnet_attach().
- * Call usbnet_init_rx_tx() to initialise pipes, which will be open
- * upon success.
  */
-int	usbnet_init_rx_tx(struct usbnet * const);
 
 /* interrupt handling */
 void	usbnet_enqueue(struct usbnet * const, uint8_t *, size_t, int,

Reply via email to