
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 patrice.chotard@foss.st.com
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)
[...]