Only clear the endpoint on stall (from FreeBSD).

This commit is contained in:
augustss 2001-09-28 23:42:16 +00:00
parent 901a3da087
commit c5a4cc1291
2 changed files with 7 additions and 6 deletions

View File

@ -1,4 +1,4 @@
/* $NetBSD: uhub.c,v 1.49 2001/01/21 19:00:06 augustss Exp $ */
/* $NetBSD: uhub.c,v 1.50 2001/09/28 23:42:16 augustss Exp $ */
/* $FreeBSD: src/sys/dev/usb/uhub.c,v 1.18 1999/11/17 22:33:43 n_hibma Exp $ */
/*
@ -565,10 +565,10 @@ uhub_intr(usbd_xfer_handle xfer, usbd_private_handle addr, usbd_status status)
struct uhub_softc *sc = addr;
DPRINTFN(5,("uhub_intr: sc=%p\n", sc));
if (status != USBD_NORMAL_COMPLETION)
if (status == USBD_STALLED)
usbd_clear_endpoint_stall_async(sc->sc_ipipe);
usb_needs_explore(sc->sc_hub);
else if (status == USBD_NORMAL_COMPLETION)
usb_needs_explore(sc->sc_hub);
}
#if defined(__FreeBSD__)

View File

@ -1,4 +1,4 @@
/* $NetBSD: ukbd.c,v 1.66 2001/04/06 22:54:15 augustss Exp $ */
/* $NetBSD: ukbd.c,v 1.67 2001/09/28 23:42:17 augustss Exp $ */
/*
* Copyright (c) 1998 The NetBSD Foundation, Inc.
@ -514,7 +514,8 @@ ukbd_intr(xfer, addr, status)
if (status) {
DPRINTF(("ukbd_intr: status=%d\n", status));
usbd_clear_endpoint_stall_async(sc->sc_intrpipe);
if (status == USBD_STALLED)
usbd_clear_endpoint_stall_async(sc->sc_intrpipe);
return;
}