On Tue, 11 Aug 2009, Sarah Sharp wrote: > I looked at making usb_ep0_reinit() call hcd->drop_endpoint(), > hcd->usb_add_endpoint(), and hcd->check_bandwidth() for control endpoint > 0. usb_ep0_reinit() is called too many times, for my purposes. It's > called when the USB device address changes (possibly several times if > the enumeration sequence fails). The xHCI driver doesn't care about > address changes, because it's already involved through > hcd->address_device(). > > Also, the return value of usb_ep0_reinit() would have to change if it > called down to the xHCI bandwidth functions. The xHCI driver may run > out of memory when it allocates structures for the evaluate context > command. That means that new parts of the enumeration sequence may > fail. Also, I'm unlikely to get your suggested patch included in > 2.6.31, since it changes the signature of an exported function. > > If I change the max packet size when the enumeration sequence submits > the next control transfer instead, that part of the enumeration sequence > is already coded to look for out of memory errors, and the change > doesn't touch any exported functions. > > In short, I'm still leaning towards my original patch. :) That's fine. You're the maintainer and the choice is up to you. I just wanted to make sure you were aware of the alternative. Alan Stern -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html