> From: Kever Yang [mailto:kever.yang@xxxxxxxxxxxxxx] > Sent: Wednesday, November 12, 2014 4:42 PM > > On 11/13/2014 07:22 AM, Doug Anderson wrote: > > Kever, > > > > On Mon, Nov 10, 2014 at 5:09 AM, Kever Yang <kever.yang@xxxxxxxxxxxxxx> 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@xxxxxxxxxxxxxx> > >> Acked-by: Paul Zimmerman <paulz@xxxxxxxxxxxx> > >> --- > >> > >> 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, This patch has made it into Linus' kernel as commit 0cf884e819e0, and it breaks disconnect/connect on at least the Altera SOCFPGA platform. I haven't been able to test it on any other platforms. You need to submit a patch to either fix this, or to only enable this feature for the Rock-chip platform. Otherwise the patch has to be reverted. -- Paul ��.n��������+%������w��{.n�����{���)��jg��������ݢj����G�������j:+v���w�m������w�������h�����٥