On Thu, Dec 19, 2013 at 08:53:16AM -0600, Felipe Balbi wrote: > On Wed, Dec 18, 2013 at 08:23:46PM +0100, Daniel Mack wrote: > > Currently, resume and reset is completed when the USB core calls back > > the root hub, asking for the port's state. This results in > > unpredictable timing of state assertion, which in turn renders some > > USB devices unusable after resume. > > > > Fix this by moving the logic to end the reset and suspend state out of > > musb_hub_control() into separate functions called from delayed workers. > > GetPortStatus only reports the current state now, without taking any > > real action. > > > > The rh_timeout variable is kept in order to define a minimum time gap > > between reset and resume only. > > > > FWIW, in my case, a Verbatim "STORE N GO" mass storage device won't > > resume cleanly without this patch. > > > > Signed-off-by: Daniel Mack <zonque@xxxxxxxxx> > > doesn't apply: > > checking file drivers/usb/musb/musb_core.c > Hunk #2 succeeded at 1814 (offset 1 line). > Hunk #3 succeeded at 1922 with fuzz 2 (offset 10 lines). > Hunk #4 FAILED at 1998. > Hunk #5 FAILED at 2061. > 2 out of 5 hunks FAILED > checking file drivers/usb/musb/musb_core.h > checking file drivers/usb/musb/musb_host.h > checking file drivers/usb/musb/musb_virthub.c > > Can you rebase on top of my 'next' branch ? nevermind, after merging -rc4 on my 'next', problem went away. -- balbi
Attachment:
signature.asc
Description: Digital signature