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

Reply via email to