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