Hi Marek
On 2/10/21 3:26 PM, Marek Vasut wrote:
> On 2/10/21 3:17 PM, Patrice Chotard wrote:
>> Since commit 8745b9ebccae ("usb: gadget: add super speed support")
>> ums was no more functional on platform which use dwc2_udc_otg driver.
>>
>> Remove the speed test in dwc2_gadget_start() to fix it.
>> Tested on stm32mp157c-ev1 board.
>
> Isn't the speed check correct though ?
I am not sure this speed test is needed.
>
> What is really going on when this fails ?
Since 8745b9ebccae ("usb: gadget: add super speed support"),
driver->speed is now set to USB_SPEED_SUPER in drivers/usb/gadget/composite.c
and this forbids dwc2_udc_otg.c to be registered.
Patrice
>
>> Fixes: c791c8431c34 ("usb: dwc2: convert driver to DM_USB_GADGET")
>>
>> Signed-off-by: Patrice Chotard <[email protected]>
>> ---
>>
>> drivers/usb/gadget/dwc2_udc_otg.c | 10 ++--------
>> 1 file changed, 2 insertions(+), 8 deletions(-)
>>
>> diff --git a/drivers/usb/gadget/dwc2_udc_otg.c
>> b/drivers/usb/gadget/dwc2_udc_otg.c
>> index e3871e381e..4f3d761eb1 100644
>> --- a/drivers/usb/gadget/dwc2_udc_otg.c
>> +++ b/drivers/usb/gadget/dwc2_udc_otg.c
>> @@ -248,10 +248,7 @@ int usb_gadget_register_driver(struct usb_gadget_driver
>> *driver)
>> debug_cond(DEBUG_SETUP != 0, "%s: %s\n", __func__, "no name");
>> - if (!driver
>> - || (driver->speed != USB_SPEED_FULL
>> - && driver->speed != USB_SPEED_HIGH)
>> - || !driver->bind || !driver->disconnect || !driver->setup)
>> + if (!driver || !driver->bind || !driver->disconnect || !driver->setup)
>> return -EINVAL;
>> if (!dev)
>> return -ENODEV;
>> @@ -320,10 +317,7 @@ static int dwc2_gadget_start(struct usb_gadget *g,
>> debug_cond(DEBUG_SETUP != 0, "%s: %s\n", __func__, "no name");
>> - if (!driver ||
>> - (driver->speed != USB_SPEED_FULL &&
>> - driver->speed != USB_SPEED_HIGH) ||
>> - !driver->bind || !driver->disconnect || !driver->setup)
>> + if (!driver || !driver->bind || !driver->disconnect || !driver->setup)
>> return -EINVAL;
>> if (!dev)
>>
>
>
> [...]