Hello,

uhci-hcd.c currently calls usb_endpoint_halt() in the td_error: path of
uhci_result_control().  David Brownell told me that "control endpoints
don't halt" and that this is wrong.  The patch below fixes this and allows
my Belkin Universal UPS to work.  [Although it still prints lots of
"drivers/usb/input/hid-core.c: ctrl urb status -32 received" messages.]
Greg K-H, could you merge this if it looks right?  David mentioned that
the same bug exists in 2.4.x.

Cheers, Wayne

diff -ru linux-2.5.50/drivers/usb/host/uhci-hcd.c 
linux-2.5.50-wayne/drivers/usb/host/uhci-hcd.c
--- linux-2.5.50/drivers/usb/host/uhci-hcd.c    2002-10-31 23:15:44.000000000 -0800
+++ linux-2.5.50-wayne/drivers/usb/host/uhci-hcd.c      2002-11-30 14:17:57.000000000 
+-0800
@@ -1051,10 +1051,6 @@
 
 td_error:
        ret = uhci_map_status(status, uhci_packetout(td_token(td)));
-       if (ret == -EPIPE)
-               /* endpoint has stalled - mark it halted */
-               usb_endpoint_halt(urb->dev, uhci_endpoint(td_token(td)),
-                               uhci_packetout(td_token(td)));
 
 err:
        if ((debug == 1 && ret != -EPIPE) || debug > 1) {





-------------------------------------------------------
This SF.net email is sponsored by: Get the new Palm Tungsten T 
handheld. Power & Color in a compact size! 
http://ads.sourceforge.net/cgi-bin/redirect.pl?palm0002en
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to