usb: usbd_abort_pipe never fails. Make it return void.
Prune dead branches as a result of this change.
This commit is contained in:
parent
80ad5cc0fd
commit
065aa2e999
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: if_atu.c,v 1.73 2020/08/28 19:02:19 riastradh Exp $ */
|
||||
/* $NetBSD: if_atu.c,v 1.74 2022/03/03 06:05:38 riastradh Exp $ */
|
||||
/* $OpenBSD: if_atu.c,v 1.48 2004/12/30 01:53:21 dlg Exp $ */
|
||||
/*
|
||||
* Copyright (c) 2003, 2004
|
||||
|
@ -48,7 +48,7 @@
|
|||
*/
|
||||
|
||||
#include <sys/cdefs.h>
|
||||
__KERNEL_RCSID(0, "$NetBSD: if_atu.c,v 1.73 2020/08/28 19:02:19 riastradh Exp $");
|
||||
__KERNEL_RCSID(0, "$NetBSD: if_atu.c,v 1.74 2022/03/03 06:05:38 riastradh Exp $");
|
||||
|
||||
#ifdef _KERNEL_OPT
|
||||
#include "opt_usb.h"
|
||||
|
@ -2235,19 +2235,11 @@ atu_stop(struct ifnet *ifp, int disable)
|
|||
|
||||
/* Stop transfers. */
|
||||
if (sc->atu_ep[ATU_ENDPT_RX] != NULL) {
|
||||
err = usbd_abort_pipe(sc->atu_ep[ATU_ENDPT_RX]);
|
||||
if (err) {
|
||||
DPRINTF(("%s: abort rx pipe failed: %s\n",
|
||||
device_xname(sc->atu_dev), usbd_errstr(err)));
|
||||
}
|
||||
usbd_abort_pipe(sc->atu_ep[ATU_ENDPT_RX]);
|
||||
}
|
||||
|
||||
if (sc->atu_ep[ATU_ENDPT_TX] != NULL) {
|
||||
err = usbd_abort_pipe(sc->atu_ep[ATU_ENDPT_TX]);
|
||||
if (err) {
|
||||
DPRINTF(("%s: abort tx pipe failed: %s\n",
|
||||
device_xname(sc->atu_dev), usbd_errstr(err)));
|
||||
}
|
||||
usbd_abort_pipe(sc->atu_ep[ATU_ENDPT_TX]);
|
||||
}
|
||||
|
||||
/* Free RX/TX/MGMT list resources. */
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: ualea.c,v 1.13 2021/05/29 08:45:19 riastradh Exp $ */
|
||||
/* $NetBSD: ualea.c,v 1.14 2022/03/03 06:05:38 riastradh Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 2017 The NetBSD Foundation, Inc.
|
||||
|
@ -30,7 +30,7 @@
|
|||
*/
|
||||
|
||||
#include <sys/cdefs.h>
|
||||
__KERNEL_RCSID(0, "$NetBSD: ualea.c,v 1.13 2021/05/29 08:45:19 riastradh Exp $");
|
||||
__KERNEL_RCSID(0, "$NetBSD: ualea.c,v 1.14 2022/03/03 06:05:38 riastradh Exp $");
|
||||
|
||||
#include <sys/types.h>
|
||||
#include <sys/atomic.h>
|
||||
|
@ -161,7 +161,7 @@ ualea_detach(device_t self, int flags)
|
|||
|
||||
/* Cancel pending xfer. */
|
||||
if (sc->sc_pipe)
|
||||
(void)usbd_abort_pipe(sc->sc_pipe);
|
||||
usbd_abort_pipe(sc->sc_pipe);
|
||||
KASSERT(!sc->sc_inflight);
|
||||
|
||||
/* All users have drained. Tear it all down. */
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: usbdi.c,v 1.223 2022/03/03 06:04:31 riastradh Exp $ */
|
||||
/* $NetBSD: usbdi.c,v 1.224 2022/03/03 06:05:38 riastradh Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 1998, 2012, 2015 The NetBSD Foundation, Inc.
|
||||
|
@ -32,7 +32,7 @@
|
|||
*/
|
||||
|
||||
#include <sys/cdefs.h>
|
||||
__KERNEL_RCSID(0, "$NetBSD: usbdi.c,v 1.223 2022/03/03 06:04:31 riastradh Exp $");
|
||||
__KERNEL_RCSID(0, "$NetBSD: usbdi.c,v 1.224 2022/03/03 06:05:38 riastradh Exp $");
|
||||
|
||||
#ifdef _KERNEL_OPT
|
||||
#include "opt_usb.h"
|
||||
|
@ -113,7 +113,7 @@ SDT_PROBE_DEFINE2(usb, device, xfer, done,
|
|||
"usbd_status"/*status*/);
|
||||
SDT_PROBE_DEFINE1(usb, device, xfer, destroy, "struct usbd_xfer *"/*xfer*/);
|
||||
|
||||
Static usbd_status usbd_ar_pipe(struct usbd_pipe *);
|
||||
Static void usbd_ar_pipe(struct usbd_pipe *);
|
||||
static usbd_status usb_insert_transfer(struct usbd_xfer *);
|
||||
Static void usbd_start_next(struct usbd_pipe *);
|
||||
Static usbd_status usbd_open_pipe_ival
|
||||
|
@ -769,23 +769,21 @@ usbd_interface2endpoint_descriptor(struct usbd_interface *iface, uint8_t index)
|
|||
|
||||
/* Some drivers may wish to abort requests on the default pipe, *
|
||||
* but there is no mechanism for getting a handle on it. */
|
||||
usbd_status
|
||||
void
|
||||
usbd_abort_default_pipe(struct usbd_device *device)
|
||||
{
|
||||
return usbd_abort_pipe(device->ud_pipe0);
|
||||
usbd_abort_pipe(device->ud_pipe0);
|
||||
}
|
||||
|
||||
usbd_status
|
||||
void
|
||||
usbd_abort_pipe(struct usbd_pipe *pipe)
|
||||
{
|
||||
usbd_status err;
|
||||
|
||||
KASSERT(pipe != NULL);
|
||||
|
||||
usbd_lock_pipe(pipe);
|
||||
err = usbd_ar_pipe(pipe);
|
||||
usbd_ar_pipe(pipe);
|
||||
usbd_unlock_pipe(pipe);
|
||||
return err;
|
||||
}
|
||||
|
||||
usbd_status
|
||||
|
@ -966,7 +964,7 @@ usbd_get_interface(struct usbd_interface *iface, uint8_t *aiface)
|
|||
/*** Internal routines ***/
|
||||
|
||||
/* Dequeue all pipe operations, called with bus lock held. */
|
||||
Static usbd_status
|
||||
Static void
|
||||
usbd_ar_pipe(struct usbd_pipe *pipe)
|
||||
{
|
||||
struct usbd_xfer *xfer;
|
||||
|
@ -1010,7 +1008,6 @@ usbd_ar_pipe(struct usbd_pipe *pipe)
|
|||
}
|
||||
pipe->up_aborting = 0;
|
||||
SDT_PROBE1(usb, device, pipe, abort__done, pipe);
|
||||
return USBD_NORMAL_COMPLETION;
|
||||
}
|
||||
|
||||
/* Called with USB lock held. */
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: usbdi.h,v 1.104 2022/02/14 09:22:30 riastradh Exp $ */
|
||||
/* $NetBSD: usbdi.h,v 1.105 2022/03/03 06:05:38 riastradh Exp $ */
|
||||
/* $FreeBSD: src/sys/dev/usb/usbdi.h,v 1.18 1999/11/17 22:33:49 n_hibma Exp $ */
|
||||
|
||||
/*
|
||||
|
@ -122,8 +122,8 @@ void usbd_get_xfer_status(struct usbd_xfer *, void **,
|
|||
usb_endpoint_descriptor_t *usbd_interface2endpoint_descriptor
|
||||
(struct usbd_interface *, uint8_t);
|
||||
|
||||
usbd_status usbd_abort_pipe(struct usbd_pipe *);
|
||||
usbd_status usbd_abort_default_pipe(struct usbd_device *);
|
||||
void usbd_abort_pipe(struct usbd_pipe *);
|
||||
void usbd_abort_default_pipe(struct usbd_device *);
|
||||
|
||||
usbd_status usbd_clear_endpoint_stall(struct usbd_pipe *);
|
||||
void usbd_clear_endpoint_stall_async(struct usbd_pipe *);
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: usbnet.c,v 1.91 2022/03/03 05:56:44 riastradh Exp $ */
|
||||
/* $NetBSD: usbnet.c,v 1.92 2022/03/03 06:05:38 riastradh Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 2019 Matthew R. Green
|
||||
|
@ -31,7 +31,7 @@
|
|||
*/
|
||||
|
||||
#include <sys/cdefs.h>
|
||||
__KERNEL_RCSID(0, "$NetBSD: usbnet.c,v 1.91 2022/03/03 05:56:44 riastradh Exp $");
|
||||
__KERNEL_RCSID(0, "$NetBSD: usbnet.c,v 1.92 2022/03/03 06:05:38 riastradh Exp $");
|
||||
|
||||
#include <sys/param.h>
|
||||
#include <sys/kernel.h>
|
||||
|
@ -817,21 +817,16 @@ usbnet_ep_open_pipes(struct usbnet * const un)
|
|||
return USBD_NORMAL_COMPLETION;
|
||||
}
|
||||
|
||||
static usbd_status
|
||||
static void
|
||||
usbnet_ep_stop_pipes(struct usbnet * const un)
|
||||
{
|
||||
struct usbnet_private * const unp = un->un_pri;
|
||||
usbd_status err = USBD_NORMAL_COMPLETION;
|
||||
|
||||
for (size_t i = 0; i < __arraycount(unp->unp_ep); i++) {
|
||||
if (unp->unp_ep[i] == NULL)
|
||||
continue;
|
||||
usbd_status err2 = usbd_abort_pipe(unp->unp_ep[i]);
|
||||
if (err == USBD_NORMAL_COMPLETION && err2)
|
||||
err = err2;
|
||||
usbd_abort_pipe(unp->unp_ep[i]);
|
||||
}
|
||||
|
||||
return err;
|
||||
}
|
||||
|
||||
static int
|
||||
|
@ -1208,17 +1203,13 @@ usbnet_watchdog(struct ifnet *ifp)
|
|||
struct usbnet * const un = ifp->if_softc;
|
||||
struct usbnet_private * const unp = un->un_pri;
|
||||
struct usbnet_cdata * const cd = un_cdata(un);
|
||||
usbd_status err;
|
||||
|
||||
if_statinc(ifp, if_oerrors);
|
||||
device_printf(un->un_dev, "watchdog timeout\n");
|
||||
|
||||
if (cd->uncd_tx_cnt > 0) {
|
||||
DPRINTF("uncd_tx_cnt=%ju non zero, aborting pipe", 0, 0, 0, 0);
|
||||
err = usbd_abort_pipe(unp->unp_ep[USBNET_ENDPT_TX]);
|
||||
if (err)
|
||||
device_printf(un->un_dev, "pipe abort failed: %s\n",
|
||||
usbd_errstr(err));
|
||||
usbd_abort_pipe(unp->unp_ep[USBNET_ENDPT_TX]);
|
||||
if (cd->uncd_tx_cnt != 0)
|
||||
DPRINTF("uncd_tx_cnt now %ju", cd->uncd_tx_cnt, 0, 0, 0);
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: utoppy.c,v 1.35 2020/03/14 02:35:34 christos Exp $ */
|
||||
/* $NetBSD: utoppy.c,v 1.36 2022/03/03 06:05:38 riastradh Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 2006 The NetBSD Foundation, Inc.
|
||||
|
@ -30,7 +30,7 @@
|
|||
*/
|
||||
|
||||
#include <sys/cdefs.h>
|
||||
__KERNEL_RCSID(0, "$NetBSD: utoppy.c,v 1.35 2020/03/14 02:35:34 christos Exp $");
|
||||
__KERNEL_RCSID(0, "$NetBSD: utoppy.c,v 1.36 2022/03/03 06:05:38 riastradh Exp $");
|
||||
|
||||
#ifdef _KERNEL_OPT
|
||||
#include "opt_usb.h"
|
||||
|
@ -1365,7 +1365,6 @@ static int
|
|||
utoppyclose(dev_t dev, int flag, int mode, struct lwp *l)
|
||||
{
|
||||
struct utoppy_softc *sc;
|
||||
usbd_status err;
|
||||
|
||||
sc = device_lookup_private(&utoppy_cd, UTOPPYUNIT(dev));
|
||||
|
||||
|
@ -1384,14 +1383,12 @@ utoppyclose(dev_t dev, int flag, int mode, struct lwp *l)
|
|||
(void) utoppy_cancel(sc);
|
||||
|
||||
if (sc->sc_out_pipe != NULL) {
|
||||
if ((err = usbd_abort_pipe(sc->sc_out_pipe)) != 0)
|
||||
printf("usbd_abort_pipe(OUT) returned %d\n", err);
|
||||
usbd_abort_pipe(sc->sc_out_pipe);
|
||||
sc->sc_out_pipe = NULL;
|
||||
}
|
||||
|
||||
if (sc->sc_in_pipe != NULL) {
|
||||
if ((err = usbd_abort_pipe(sc->sc_in_pipe)) != 0)
|
||||
printf("usbd_abort_pipe(IN) returned %d\n", err);
|
||||
usbd_abort_pipe(sc->sc_in_pipe);
|
||||
sc->sc_in_pipe = NULL;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue