usb: dwc3: Add support to LPM L1 remote wakeup for ep0 endpoints
When device controller gets an LPM request from the host during a control transfer, it is not able to initiate remote wakeup automatically. As a result it accepts the request, goes to L1 state, and does not initiate wakeup to exit L1 state. Since host expects the device to do a remote wakeup from L1 state and the device does not initiate the wakeup, the host continues to wait and starts enumeration again because control transfer timeout occurs. Fix this issue by initiating remote wakeup before queuing the ep0 request if bus is in L1 suspend state. Also add a counter which gets incremented upon device sending remote wakeup before queuing ep0 request. Change-Id: I307ad94d4cb40ce2bd85425f3a1c6316cded52b8 Signed-off-by: Hemant Kumar <hemantk@codeaurora.org> Signed-off-by: Mayank Rana <mrana@codeaurora.org>
Loading
Please register or sign in to comment