> > Are you using an invalid endpoint? You're right, MxPS is not zero in > > any of those, but since it parsed alright, there's no reason why > > dev->exmaxpacketin/out should be 0. > > It is not clear at all why dev->epmaxpacketin/out should be > anything but 0. This array is never initialized as far as > I can see.
There's a memset in usb_alloc_dev(), and values there get re-initialized when setting configurations, such as in the usb_new_device() code, or altsettings, as you noted later. > More precisely, the value for endpoint 0 is set in > usb_new_device(). Values for other endpoints only in > usb_set_maxpacket() [which has the comment "hub-only!!"]. Point of comment is that it'd be an error for device drivers to call this, it's internal to usbcore. And in fact it isn't even exported so that driver modules could call it. There's a separate issue that any URBs pending to endpoints affected by SET_INTERFACE or SET_CONFIGURATION calls should actually be terminated before those calls get made. For example, endpoint 4-out could vanish entirely in the new device setup, or change from iso to bulk. Fixing that issue (nuking such URBs before changing device setup) requires updates in the host controller driver APIs. - Dave _______________________________________________________________ Have big pipes? SourceForge.net is looking for download mirrors. We supply the hardware. You get the recognition. Email Us: [EMAIL PROTECTED] _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
