Merge "usb: dwc3: gadget: Ignore L1 RESUME events"
diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c
index 0f86879..c6974cc 100644
--- a/drivers/usb/dwc3/gadget.c
+++ b/drivers/usb/dwc3/gadget.c
@@ -2610,13 +2610,13 @@
{
dev_vdbg(dwc->dev, "%s\n", __func__);
- /*
- * TODO take core out of low power mode when that's
- * implemented.
- */
+ /* Only perform resume from L2 or Early suspend states */
+ if (dwc->link_state == DWC3_LINK_STATE_U3) {
+ dbg_event(0xFF, "WAKEUP", 0);
+ dwc->gadget_driver->resume(&dwc->gadget);
+ }
- dbg_event(0xFF, "WAKEUP", 0);
- dwc->gadget_driver->resume(&dwc->gadget);
+ dwc->link_state = DWC3_LINK_STATE_U0;
}
static void dwc3_gadget_linksts_change_interrupt(struct dwc3 *dwc,