Re: [PATCHv3 4/4] usb: gadget: get rid of USB_GADGET_{DUAL,SUPER}SPEED

From: Alan Stern
Date: Mon Aug 22 2011 - 11:03:46 EST


On Mon, 22 Aug 2011, Michal Nazarewicz wrote:

> >> --- a/drivers/usb/gadget/inode.c
> >> +++ b/drivers/usb/gadget/inode.c
> > ...
> >> @@ -1773,11 +1767,7 @@ gadgetfs_suspend (struct usb_gadget *gadget)
> >> }
> >>
> >> static struct usb_gadget_driver gadgetfs_driver = {
> >> -#ifdef CONFIG_USB_GADGET_DUALSPEED
> >> .max_speed = USB_SPEED_HIGH,
> >> -#else
> >> - .max_speed = USB_SPEED_FULL,
> >> -#endif
>
> > I'm not sure that a static definition is correct here. The actual
> > max_speed depends on what descriptors the userspace program sends.
> > Take a look at the ep_config() routine.
>
> Good catch. I've changed it to:
>
> if (dev->hs_config)
> gadgetfs_driver.max_speed = USB_SPEED_HIGH;
> else
> gadgetfs_driver.max_speed = USB_SPEED_FULL;
>
> just before usb_gadget_probe_driver(), which should do the trick.

Yes, that sounds like the right thing to do.

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/