Messages in this thread | | | Date | Thu, 1 May 2014 10:15:00 -0500 | From | Felipe Balbi <> | Subject | Re: [PATCH] usb: dwc3: gadget: fix burst size corruption |
| |
Hi,
On Thu, May 01, 2014 at 09:45:17AM -0400, Alan Stern wrote: > On Thu, 1 May 2014, Zhuang Jin Can wrote: > > > > again, you found a bug on the gadget driver. Fix that. composite.c > > > guarantees that for those functions which don't pass bMaxBurst, > > > gadget->maxburst will be set to *at least* 1. > > > > > I agree the real fix should be in the gadget driver. The patch intents > > to prevent hibernatition from being corrupted by a bad gadget driver. > > If OEMs develop their own gadget driver forgetting to call > > config_ep_by_speed(), it'll turn out to be everything works except > > dwc3 hibernation, and they'll complain to dwc3. f_ffs is an > > example has SuperSpeed support but doesn't call config_ep_by_speed(). > > It's just for robustness, and dwc3 is not doing anything wrong. > > It did cause me a long time to figure out why the hibernation was broken. > > You could include the check, for the sake of robustness, in dwc3 -- but > if it fails, you should write a message to the kernel log saying that > the gadget driver needs to be fixed.
Also, if we're adding something to dwc3, we need to add to other USB3-capable UDCs too. Namely dummy and marvel's.
cheers
-- balbi [unhandled content-type:application/pgp-signature] | |