Re: [PATCHv3 2/4] usb: gadget: replace "is_dualspeed" with "max_speed"

From: Alan Stern
Date: Tue Aug 23 2011 - 16:49:45 EST


On Tue, 23 Aug 2011, Michal Nazarewicz wrote:

> On Tue, 23 Aug 2011 20:00:25 +0200, Alan Stern <stern@xxxxxxxxxxxxxxxxxxx>
> wrote:
> > 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.
>
> In theory, one could create a composite function with only SS/HS
> descriptors.

The only reason for doing that would be if the function was incapable
of carrying out its duties when running at full speed (insufficient
bandwidth, for example). Something like this is discussed briefly in
section 9.2.6.6 of the USB-2 spec.

> So it would work for SS/HS but not for FS. I'm not
> saying that it would make sense (or that it's not a bug) but that
> adds to the discussion.

If somebody writes a composite gadget containing two functions, one of
which supports only full speed and the other only high speed, they'll
get what they deserve. :-)

Still, maybe I was wrong. Maybe it would be better to use the fastest
speed supported by at least one of the function drivers. The user can
always force a SuperSpeed-capable device to run at high speed by using
a USB-2 cable to plug it in. I'm not sure whether the user could force
such a device to run at full speed, however.

Alan Stern

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/