On Thu, 9 Jun 2011, Tatyana Brokhman wrote:

> This patch adds a new module parameter to dummy_hcd: is_high_speed
> When set to false the connected device will be forced to operate in FS
> mode. The default of this parameter is true.

...

> @@ -904,12 +908,15 @@ usb_gadget_probe_driver(struct usb_gadget_driver 
> *driver,
>       dum->gadget.ep0 = &dum->ep [0].ep;
>       if (mod_data.is_super_speed)
>               dum->gadget.speed = driver->speed;
> -     else
> +     else if (mod_data.is_high_speed)
>               dum->gadget.speed = min((u8)USB_SPEED_HIGH, (u8)driver->speed);

Use min_t().

> +     else
> +             dum->gadget.speed = USB_SPEED_FULL;
>       if (dum->gadget.speed < driver->speed)
> -             dev_dbg(udc_dev(dum), "This device can perform faster if"
> -                                   " you connect it to a "
> -                                   "SupeSpeed port...\n");
> +             dev_dbg(udc_dev(dum), "This device can perform faster"
> +                             " if you connect it to a %s port...\n",
> +                     (driver->speed == USB_SPEED_SUPER ?
> +                      "SuperSpeed" : "HighSpeed"));
>  
>       if (dum->gadget.speed == USB_SPEED_SUPER) {
>               for (i = 0; i < DUMMY_ENDPOINTS; i++)
> @@ -2417,6 +2424,9 @@ static int __init init (void)
>       if (usb_disabled ())
>               return -ENODEV;
>  
> +     if (!mod_data.is_high_speed && mod_data.is_super_speed)
> +             return -EINVAL;

Print an error message in the log so that the user will know why the 
failure occurred.

Alan Stern

--
To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to