This eliminates an error case (current cost, memleak) when disabling endpoints that have control requests queued.
Please merge.
- Dave
--- 1.70/drivers/usb/core/hcd.c Fri Jul 25 06:48:06 2003
+++ edited/drivers/usb/core/hcd.c Tue Aug 5 16:46:38 2003
@@ -1307,7 +1307,8 @@
/* ignore urbs for other endpoints */
if (usb_pipeendpoint (tmp) != epnum)
continue;
- if ((tmp ^ endpoint) & USB_DIR_IN)
+ /* NOTE assumption that only ep0 is a control endpoint */
+ if (epnum != 0 && ((tmp ^ endpoint) & USB_DIR_IN))
continue;
/* another cpu may be in hcd, spinning on hcd_data_lock
