Martin Schleier wrote: > Interesting, I know that interrupt and bulk endpoints share a lot of > common logic so I can see how this should work. But is it really > possible [and more to the point: sane?!] to override the endpoint > descriptors? > > I know that usb_submit_urb checks [when config_usb_debug is enabled] > if the xfertype of the submitted urb matches the one of the endpoint, > so I wonder I started to wonder if we are fooling "just" the code > here, or ourselves in the process? > > > ath9k_htc does the same thing (see ath/ath9k/hif_usb.c). > > It does seem to be working properly but I am wondering if the > > USB subsystem has to be updated after the driver messes around with bmAttributes. > > (lsusb would still show the endpoint type as INT). > > > > You have a usb_reset_configuration() call before changing > > the endpoint type, why is that necessary ? And would that > > reset the endpoints as well ? > Huh, has this already catched on? Well, for ath9k_htc, the FW changes the descriptor type after it is transferred to the target. The USB devs suggested that usb_device_reset() should be called by the driver in such cases, but in ath9k_htc's case, the device is disconnected and the error message "device firmware changed" is displayed. Agreed, this is a dirty hack - but is there any way for a driver to make the USB subsystem re-configure the endpoints ? Sujith -- 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