Hi Felipe, On 1/21/2019 11:13 AM, Minas Harutyunyan wrote: > Hi Felipe, > > On 12/12/2018 3:43 PM, Minas Harutyunyan wrote: >> Initially resetting device address was done in USB RESET interrupt >> handler. In case, when power saving mode enabled (hibernation) USB >> RESET interrupt handled in dwc2_handle_gpwrdn_intr() and then it >> not seen in dwc2_hsotg_irq() handler. This is why reset device >> address to zero moved from USB RESET handler to EnumDone handler. >> >> Signed-off-by: Minas Harutyunyan <hminas@xxxxxxxxxxxx> >> --- >> drivers/usb/dwc2/gadget.c | 6 +++--- >> 1 file changed, 3 insertions(+), 3 deletions(-) >> >> diff --git a/drivers/usb/dwc2/gadget.c b/drivers/usb/dwc2/gadget.c >> index 68ad75a7460d..7f922f19f8e1 100644 >> --- a/drivers/usb/dwc2/gadget.c >> +++ b/drivers/usb/dwc2/gadget.c >> @@ -3072,6 +3072,9 @@ static void dwc2_hsotg_irq_enumdone(struct dwc2_hsotg *hsotg) >> >> dev_dbg(hsotg->dev, "EnumDone (DSTS=0x%08x)\n", dsts); >> >> + /* Reset device address to zero */ >> + dwc2_clear_bit(hsotg, DCFG, DCFG_DEVADDR_MASK); >> + >> /* >> * note, since we're limited by the size of transfer on EP0, and >> * it seems IN transfers must be a even number of packets we do >> @@ -3614,9 +3617,6 @@ static irqreturn_t dwc2_hsotg_irq(int irq, void *pw) >> /* Report disconnection if it is not already done. */ >> dwc2_hsotg_disconnect(hsotg); >> >> - /* Reset device address to zero */ >> - dwc2_clear_bit(hsotg, DCFG, DCFG_DEVADDR_MASK); >> - >> if (usb_status & GOTGCTL_BSESVLD && connected) >> dwc2_hsotg_core_init_disconnected(hsotg, true); >> } >> > > This patch not seen yet in your testing/fixes or next. Any reason for > delay or you missed it? > > Thanks, > Minas > > Not seen yet. Ping again. Thanks, Minas