Source-Changes-HG archive

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

[src/netbsd-3]: src/sys/dev/usb Pull up following revision(s) (requested by n...



details:   https://anonhg.NetBSD.org/src/rev/9b7755f97de4
branches:  netbsd-3
changeset: 577314:9b7755f97de4
user:      tron <tron%NetBSD.org@localhost>
date:      Thu Oct 06 11:40:52 2005 +0000

description:
Pull up following revision(s) (requested by nathanw in ticket #861):
        sys/dev/usb/usb_subr.c: revision 1.130
usbd_setup_pipe(): Don't call usbd_clear_endpoint_stall(). It's not
necessary for normal devices, and it prevents some common (but
apparantly buggy) devices from working, including the Apple iPod (mini
and photo) and certain M-Systems DiskOnKey flash devices.
If (also buggy) devices resurface that need this when they are
attached, they can be addressed, ideally in each device's driver.

diffstat:

 sys/dev/usb/usb_subr.c |  13 ++-----------
 1 files changed, 2 insertions(+), 11 deletions(-)

diffs (34 lines):

diff -r 82095573dfa0 -r 9b7755f97de4 sys/dev/usb/usb_subr.c
--- a/sys/dev/usb/usb_subr.c    Thu Oct 06 11:36:37 2005 +0000
+++ b/sys/dev/usb/usb_subr.c    Thu Oct 06 11:40:52 2005 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: usb_subr.c,v 1.122 2005/03/04 05:03:19 mycroft Exp $   */
+/*     $NetBSD: usb_subr.c,v 1.122.2.1 2005/10/06 11:40:52 tron Exp $  */
 /*     $FreeBSD: src/sys/dev/usb/usb_subr.c,v 1.18 1999/11/17 22:33:47 n_hibma Exp $   */
 
 /*
@@ -39,7 +39,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: usb_subr.c,v 1.122 2005/03/04 05:03:19 mycroft Exp $");
+__KERNEL_RCSID(0, "$NetBSD: usb_subr.c,v 1.122.2.1 2005/10/06 11:40:52 tron Exp $");
 
 #include "opt_usbverbose.h"
 
@@ -755,15 +755,6 @@
                free(p, M_USB);
                return (err);
        }
-       /* Clear any stall and make sure DATA0 toggle will be used next. */
-       if (UE_GET_ADDR(ep->edesc->bEndpointAddress) != USB_CONTROL_ENDPOINT) {
-               err = usbd_clear_endpoint_stall(p);
-               /* Some devices reject this command, so ignore a STALL. */
-               if (err && err != USBD_STALLED) {
-                       printf("usbd_setup_pipe: failed to start endpoint, %s\n", usbd_errstr(err));
-                       return (err);
-               }
-       }
        *pipe = p;
        return (USBD_NORMAL_COMPLETION);
 }



Home | Main Index | Thread Index | Old Index