Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/dev/usb Only clear the endpoint on stall (from FreeBSD).



details:   https://anonhg.NetBSD.org/src/rev/7fe9d9fb6058
branches:  trunk
changeset: 515573:7fe9d9fb6058
user:      augustss <augustss%NetBSD.org@localhost>
date:      Fri Sep 28 23:42:16 2001 +0000

description:
Only clear the endpoint on stall (from FreeBSD).

diffstat:

 sys/dev/usb/uhub.c |  8 ++++----
 sys/dev/usb/ukbd.c |  5 +++--
 2 files changed, 7 insertions(+), 6 deletions(-)

diffs (42 lines):

diff -r 0ab01dac4c68 -r 7fe9d9fb6058 sys/dev/usb/uhub.c
--- a/sys/dev/usb/uhub.c        Fri Sep 28 23:41:33 2001 +0000
+++ b/sys/dev/usb/uhub.c        Fri Sep 28 23:42:16 2001 +0000
@@ -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 @@
        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__)
diff -r 0ab01dac4c68 -r 7fe9d9fb6058 sys/dev/usb/ukbd.c
--- a/sys/dev/usb/ukbd.c        Fri Sep 28 23:41:33 2001 +0000
+++ b/sys/dev/usb/ukbd.c        Fri Sep 28 23:42:16 2001 +0000
@@ -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 @@
 
        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;
        }
 



Home | Main Index | Thread Index | Old Index