On Tue, 23 Aug 2011, Felipe Balbi wrote: > Hi, > > On Tue, Aug 23, 2011 at 11:43:44AM -0400, Alan Stern wrote: > > > if they are both part of the of the same configuration, full speed. > > > Otherwise Audio won't work. If they are part of different > > > configurations, then maximum_speed will be defined by the chosen config, > > > no ? > > > > No. The speed has to be chosen first, when the gadget connects to the > > host. The config isn't chosen until later, after the host retrieves > > the various descriptors and decides among them. > > true > > > > I stand with the fact that if they are part of the same configuration, > > > there's no way around it, storage will have to come down to full speed. > > > Unless I'm missing something. > > > > What if they are in different configurations? > > then you use the fastest speed between both configurations? I simply don't know. It's a difficult problem. For the time being, perhaps the best answer is to use the _lowest_ max_speed value among all the function drivers. It's the simplest answer and most likely to be correct most of the time. If anybody ever does want to put together a composite gadget that runs faster than full speed but still provides a midi function ... well, they'll just have to update the midi gadget driver. (Actually that's a bogus example. It turns out that gmidi.c doesn't support the composite framework. Oh well.) 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