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
Attachment:
signature.asc
Description: Digital signature