dwc2: Raspberry Pi 3 B Plus stuck in lx_state DWC2_L2 since Linux 6.12-rc1

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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







[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux