On Fri, 7 Aug 2009, Sarah Sharp wrote: > Full speed devices have varying max packet sizes (8, 16, 32, or 64) for > endpoint 0. The xHCI hardware needs to know the real max packet size > that the USB core discovers after it fetches the first 8 bytes of the > device descriptor. > > In order to fix this without adding a new hook to host controller drivers, > the xHCI driver looks for an updated max packet size for control > endpoints. If it finds an updated size, it issues an evaluate context > command and waits for that command to finish. This should only happen in > the initialization and device descriptor fetching steps in the khubd > thread, so blocking should be fine. Did you know that usbcore does a usb_disable_endpoint() for ep0 when the maxpacket value is updated? In view of this fact, perhaps the patch isn't needed. 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