Hi, recently i submitted the commit d483f034f032 ("usb: dwc2: Skip clock gating on Broadcom SoCs") in order to fix an issue with suspend handling. But this change reveals another issue at least on Raspberry Pi 3 B (arm64/defconfig) for the following scenario: 1. Power off and Disconnect all external USB from Raspberry Pi 3 B Plus 2. Power on Raspberry Pi 3. Wait until successfully booted 4. Connect USB devices like keyboard The expected behavior would be that all devices are enumerated, but this doesn't happend. Instead i observe that the DWC2 stays in lx_state DWC2_L2 forever (bad case): [ 2.334366] dwc2 3f980000.usb: supply vusb_d not found, using dummy regulator [ 2.341892] dwc2 3f980000.usb: supply vusb_a not found, using dummy regulator [ 2.400027] dwc2 3f980000.usb: DWC OTG Controller [ 2.404868] dwc2 3f980000.usb: new USB bus registered, assigned bus number 1 [ 2.412087] dwc2 3f980000.usb: irq 51, io mem 0x3f980000 [ 2.711826] usb 1-1: new high-speed USB device number 2 using dwc2 [ 3.195838] usb 1-1.1: new high-speed USB device number 3 using dwc2 [ 3.435829] dwc2 3f980000.usb: dwc2_port_suspend [ 3.459914] dwc2 3f980000.usb: _dwc2_hcd_suspend [ 9.009743] dwc2 3f980000.usb: _dwc2_hcd_resume [ 9.030667] dwc2 3f980000.usb: dwc2_port_suspend [ 9.044137] dwc2 3f980000.usb: _dwc2_hcd_suspend [ 9.044222] dwc2 3f980000.usb: _dwc2_hcd_resume [ 9.354370] usb 1-1.1: new high-speed USB device number 4 using dwc2 [ 9.584095] dwc2 3f980000.usb: dwc2_port_suspend [ 9.599997] dwc2 3f980000.usb: _dwc2_hcd_suspend The issue doesn't occur in case the devices are connected during boot (good case): [ 2.339783] dwc2 3f980000.usb: supply vusb_d not found, using dummy regulator [ 2.347283] dwc2 3f980000.usb: supply vusb_a not found, using dummy regulator [ 2.405479] dwc2 3f980000.usb: DWC OTG Controller [ 2.410329] dwc2 3f980000.usb: new USB bus registered, assigned bus number 1 [ 2.417546] dwc2 3f980000.usb: irq 51, io mem 0x3f980000 [ 2.718563] usb 1-1: new high-speed USB device number 2 using dwc2 [ 3.202560] usb 1-1.1: new high-speed USB device number 3 using dwc2 [ 3.518568] usb 1-1.3: new low-speed USB device number 4 using dwc2 [ 3.722673] usb 1-1.1.2: new low-speed USB device number 5 using dwc2 [ 4.086555] usb 1-1.1.1: new high-speed USB device number 6 using dwc2 [ 9.531834] dwc2 3f980000.usb: dwc2_port_suspend [ 9.546820] dwc2 3f980000.usb: _dwc2_hcd_suspend [ 9.547049] dwc2 3f980000.usb: _dwc2_hcd_resume [ 9.858583] usb 1-1.1: new high-speed USB device number 7 using dwc2 [ 10.030669] usb 1-1.3: new low-speed USB device number 8 using dwc2 [ 10.234642] usb 1-1.1.2: new low-speed USB device number 9 using dwc2 [ 10.643502] usb 1-1.1.1: new high-speed USB device number 10 using dwc2 Does anyone have an idea for investigation? Best regards