Doug, On 11/13/2014 07:22 AM, Doug Anderson wrote: > Kever, > > On Mon, Nov 10, 2014 at 5:09 AM, Kever Yang <kever.yang at rock-chips.com> wrote: >> Hcd controller needs bus_suspend/resume, dwc2 controller make >> root hub generate suspend/resume signal with hprt0 register >> when work in host mode. >> After the root hub enter suspend, we can make controller enter >> low power state with PCGCTL register. >> >> We also update the lx_state for hsotg state. >> >> This patch has tested on rk3288 with suspend/resume. >> >> Signed-off-by: Kever Yang <kever.yang at rock-chips.com> >> Acked-by: Paul Zimmerman <paulz at synopsys.com> >> --- >> >> Changes in v3: >> - remove CONFIG_PM macro for bus_suspend/resume >> - add PCGCTL operation for no device connect case >> >> Changes in v2: >> - update commit message >> - make dwc2 suspend/resume sourcecode work >> >> drivers/usb/dwc2/hcd.c | 88 +++++++++++++++++++++++++++++++++++++++++++------- >> 1 file changed, 77 insertions(+), 11 deletions(-) > I would certainly appreciate confirmation, but my inclination is to > NAK this change due to the fact that it regresses functionality. I > haven't done any serious review of it, but I've been testing it and it > appears to break hotplug. > > Said another way, I did this: > > 1. Without this patch, I booted with a USB stick in. It was detected. > I unplugged it, waited 5 seconds, and then plugged it back in. The > USB stick was redetcted. > > 2. With this patch, I did the same thing. The USB not redected after > plugging it back in. With this patch, the dwc2 hcd/root hub will be auto suspend after device on port is disconnected, and it can't detect the device connect any more, I think that's the problem. I will figure out how to make dwc2 detect the device connect after auto suspend, or disable the auto suspend feature for the dwc2 hcd. - Kever