When DWC3 receives disconnect event, it needs to set the link state to
RX_Detect.

DWC_usb3 3.30a programming guide 4.1.7

Signed-off-by: Thinh Nguyen <thi...@synopsys.com>
---
 drivers/usb/dwc3/gadget.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c
index 24178b4b9d46..37631d2e2a2e 100644
--- a/drivers/usb/dwc3/gadget.c
+++ b/drivers/usb/dwc3/gadget.c
@@ -2748,6 +2748,8 @@ static void dwc3_gadget_disconnect_interrupt(struct dwc3 
*dwc)
 {
        int                     reg;
 
+       dwc3_gadget_set_link_state(dwc, DWC3_LINK_STATE_RX_DET);
+
        reg = dwc3_readl(dwc->regs, DWC3_DCTL);
 
        /* Don't send link state change request */
-- 
2.11.0

Reply via email to