On Tue, 23 Aug 2011, Michal Nazarewicz wrote: > My understanding was that one could consciously create a composite gadget > such that not all of the functions support all of the speeds. That's an important point. If somebody wants to build a composite gadget that includes both midi and storage support, the storage driver would be able to go all the way up to SuperSpeed (or rather, it will once Felipe's patch is finished and merged) but the midi driver would only support full speed. So what speed should the UDC connect at? In cases like this there's really no way to know. Ultimately the best approach would be to update the midi driver, but that's a long-term sort of thing. Usually when the kernel can't decide something, it asks the user for help (by allowing the user to specify the speed via a module parameter, for instance). In this case even that wouldn't work, because the gadget's userspace isn't aware of which functions the host's user will want to utilize. At the moment I don't know the best answer. This is something we should all think about. 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