Module Name: src Committed By: riastradh Date: Thu Mar 3 05:56:58 UTC 2022
Modified Files: src/sys/dev/usb: if_urndis.c Log Message: urndis(4): Simplify circuitous initialization logic. To generate a diff of this commit: cvs rdiff -u -r1.46 -r1.47 src/sys/dev/usb/if_urndis.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_urndis.c diff -u src/sys/dev/usb/if_urndis.c:1.46 src/sys/dev/usb/if_urndis.c:1.47 --- src/sys/dev/usb/if_urndis.c:1.46 Thu Mar 3 05:56:28 2022 +++ src/sys/dev/usb/if_urndis.c Thu Mar 3 05:56:58 2022 @@ -1,4 +1,4 @@ -/* $NetBSD: if_urndis.c,v 1.46 2022/03/03 05:56:28 riastradh Exp $ */ +/* $NetBSD: if_urndis.c,v 1.47 2022/03/03 05:56:58 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.46 2022/03/03 05:56:28 riastradh Exp $"); +__KERNEL_RCSID(0, "$NetBSD: if_urndis.c,v 1.47 2022/03/03 05:56:58 riastradh Exp $"); #ifdef _KERNEL_OPT #include "opt_usb.h" @@ -72,8 +72,6 @@ static void urndis_uno_rx_loop(struct us static unsigned urndis_uno_tx_prepare(struct usbnet *, struct mbuf *, struct usbnet_chain *); -static int urndis_init_un(struct ifnet *, struct usbnet *); - static uint32_t urndis_ctrl_handle_init(struct usbnet *, const struct rndis_comp_hdr *); static uint32_t urndis_ctrl_handle_query(struct usbnet *, @@ -855,28 +853,14 @@ urndis_watchdog(struct ifnet *ifp) #endif static int -urndis_init_un(struct ifnet *ifp, struct usbnet *un) -{ - int err; - - err = urndis_ctrl_init(un); - if (err != RNDIS_STATUS_SUCCESS) - return EIO; - - return err; -} - -static int urndis_uno_init(struct ifnet *ifp) { struct usbnet *un = ifp->if_softc; - int error; KASSERT(IFNET_LOCKED(ifp)); - error = urndis_init_un(ifp, un); - if (error) - return EIO; /* XXX */ + if (urndis_ctrl_init(un) != RNDIS_STATUS_SUCCESS) + return EIO; return 0; } @@ -1044,8 +1028,11 @@ urndis_attach(device_t parent, device_t usbnet_attach(un); - struct ifnet *ifp = usbnet_ifp(un); - urndis_init_un(ifp, un); + if (urndis_ctrl_init(un) != RNDIS_STATUS_SUCCESS) { + aprint_error("%s: unable to initialize hardware\n", + DEVNAME(un)); + return; + } if (urndis_ctrl_query(un, OID_802_3_PERMANENT_ADDRESS, NULL, 0, &buf, &bufsz) != RNDIS_STATUS_SUCCESS) {