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

From: Felipe Balbi
Date: Tue Aug 23 2011 - 13:20:04 EST


Hi,

On Tue, Aug 23, 2011 at 05:26:24PM +0200, Michal Nazarewicz wrote:
> >On Tue, Aug 23, 2011 at 05:07:11PM +0200, Michal Nazarewicz wrote:
> >>If you look at config_buf() in composite.c, you'll notice that composite
> >>just skips functions that do not support current speed. This
> >>means, that if a connection uses high speed but given function
> >>can handle only
> >>full speed, it won't be included in the descriptors.
> >>
> >>config_buf() is called from config_desc() which similarly, iterates over
> >>configurations skipping the ones that do not support given speed.
> >>
> >>Configuration is defined to support given speed if at least one function
> >>that is added to that configuration supports that speed (see
> >>usb_add_function()).
>
> On Tue, 23 Aug 2011 17:11:06 +0200, Felipe Balbi <balbi@xxxxxx> wrote:
> >I'm trying to think if this is really what we want. This might mean
> >$current_config will be different depending if we connect it to SS, HS
> >or FS hubs.
>
> What do you mean by $current_config? The bConfigurationValue will be

the currently chosen configuration.

> the same for "the same" configuration regardless of speed but different
> configurations may be available for different speeds and "the same"
> configuration in various speeds might have different functions.
>
> So just for the sake of having something concrete, let's say we have:
>
> Configuration #1 with
> function A supporting FS and HS and

my question is what happens with the HS support on function A
(descriptors, endpoints, etc) when you connect it to a HS hub or to a FS
hub.

> function B supporting FS only.
> Configuration #2 with
> function B supporting FS only.
> Configuration #3 with
> function A supporting FS and HS and
> function C supporting HS only (dunno if that makes sense).
>
> When connected to FS hub, we will return the following:
>
> Configuration #1: A, B
> Configuration #2: B
> Configuration #3: A
>
> When connect to HS hub, we will return the following:
>
> Configuration #1: A

See, I'm not sure this is allowed by USB spec. But I could be wrong. (I
mean having a function disappear)

--
balbi

Attachment: signature.asc
Description: Digital signature