[U-Boot] question regarding USB gadget driver (dwc2)
Steve Rae
srae at broadcom.com
Wed Jan 27 01:35:55 CET 2016
Hi Marek & Lukasz,
I have an issue running fastboot on my board (which is USB_SPEED_HIGH):
=> fastboot0
failed to enable in ep
failed to enable in ep
failed to enable in ep
Because of this, fastboot does not even initialize properly, and I need
to "^C" to break out…
I have traced this the following code in
"drivers/usb/gadget/dwc2_udc_otg.c":
559/* hardware _could_ do smaller, but driver doesn't */
560if ((desc->bmAttributes== USB_ENDPOINT_XFER_BULK
561&& le16_to_cpu(get_unaligned(&desc->wMaxPacketSize)) !=
562ep_maxpacket(ep)) || !get_unaligned(&desc->wMaxPacketSize)) {
563
564debug("%s: bad %s maxpacket\n", __func__, _ep->name);
565return -ERANGE;
566}
567
568dev= ep->dev;
569if (!dev->driver || dev->gadget.speed== USB_SPEED_UNKNOWN) {
570
571debug("%s: bogus device state\n", __func__);
572return -ESHUTDOWN;
573}
574
575ep->stopped = 0;
576ep->desc= desc;
577ep->pio_irqs= 0;
578ep->ep.maxpacket= le16_to_cpu(get_unaligned(&desc->wMaxPacketSize));
The error message is because:
line 561 wMaxPacketSize= 64, and
line 562 ep_maxpacket(ep) = 512
I am questioning this logic, because at line 578, the ep.maxpacket is
being changed to the wMaxPacketSize anyway!
I am uncertain how to proceed - please advise!
Thanks in advance, Steve
More information about the U-Boot
mailing list