On 11/14/2014 11:55 PM, Alan Stern wrote: > On Thu, 13 Nov 2014, Julius Werner wrote: > >> Another thing might be that the port connect interrupt does not >> correctly resume the root hub. I don't really know many details about >> how that works, and it seems pretty complicated. But I can see that >> all other HCDs seem to call usb_hcd_resume_root_hub() from their >> interrupt handlers, which we don't. There's also a > That's how a root hub sends a wakeup request to the kernel. The > controller issues an interrupt, and when the HCD's interrupt handler > sees that the root hub is suspended, it calls usb_hcd_resume_root_hub() > instead of trying to query the hardware (because in general you _can't_ > query the hardware while it's in a low-power state). Thanks Alan and Julius, just like what you have mentioned, the dwc2 miss the usb_hcd_resume_root_hub() when root hub is suspended and device connect detected. I have send another patch for that, hope it did the right thing. - Kever