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,