google-veyron: USB port dead after resume/wakeup
Describe your issue
What's the expected behaviour?
I can continue to use my USB devices after the computer goes to suspend and I wake it up / resume working.
What's the current behaviour?
After wakeup/resume any port that had a USB device connected will fail to come back on-line and gets disabled by the kernel.
I can connect the device(s) to ports, that have been empty when the computer went to sleep. This way I can suspend/resume as many times as I have USB ports on the machine - but after being "struck off" once, a specific port will remain dead until reboot.
How to reproduce your issue?
- Connect a USB device (keyboard/mouse/USB pendrive) to one of the ports
- Wait until the device is recognised
- Close the lid and let the computer go to sleep
- Wake up the computer
- Observe, the device is missing
- Behold the error message in dmesg stating that "nobody cared about irq55 and it's been disabled"
What device are you using?
google-veyron-minnie
On what postmarketOS version did you encounter the issue?
-
edge ( master
branch) -
I confirm that the issue still is present after running sudo apk upgrade -a
-
I can confirm, I tried booting with irqpoll
and it doesn't help
On what environment did you encounter the issue?
Environments
-
Phosh
How did you get postmarketOS image?
-
I built it using pmbootstrap
Additional information
Log excerpt from dmesg
:
dmesg
:[ 2992.984004] irq 55: nobody cared (try booting with the "irqpoll" option)
[ 2992.984009] CPU: 0 PID: 0 Comm: swapper/0 Tainted: G W 6.1.27 #2-google-veyron
[ 2992.984014] Hardware name: Rockchip (Device Tree)
[ 2992.984019] unwind_backtrace from show_stack+0x10/0x14
[ 2992.984035] show_stack from dump_stack_lvl+0x40/0x4c
[ 2992.984044] dump_stack_lvl from __report_bad_irq+0x38/0xc0
[ 2992.984054] __report_bad_irq from note_interrupt+0x274/0x2bc
[ 2992.984068] note_interrupt from handle_irq_event+0x84/0x88
[ 2992.984077] handle_irq_event from handle_fasteoi_irq+0x98/0x208
[ 2992.984088] handle_fasteoi_irq from generic_handle_domain_irq+0x28/0x38
[ 2992.984098] generic_handle_domain_irq from gic_handle_irq+0x74/0x88
[ 2992.984108] gic_handle_irq from generic_handle_arch_irq+0x34/0x44
[ 2992.984114] generic_handle_arch_irq from __irq_svc+0x88/0xb0
[ 2992.984120] Exception stack(0xc1501ef0 to 0xc1501f38)
[ 2992.984125] 1ee0: 00000005 00000000 01957b71 c011ae00
[ 2992.984129] 1f00: c1509a40 c16b6460 c1504f10 c1504f70 00000000 c14dbba8 00000000 c1504f90
[ 2992.984132] 1f20: c16b5e60 c1501f40 c0107b70 c0107b74 60000113 ffffffff
[ 2992.984135] __irq_svc from arch_cpu_idle+0x38/0x3c
[ 2992.984145] arch_cpu_idle from default_idle_call+0x38/0xb4
[ 2992.984156] default_idle_call from do_idle+0x200/0x294
[ 2992.984166] do_idle from cpu_startup_entry+0x18/0x1c
[ 2992.984173] cpu_startup_entry from rest_init+0xa8/0xac
[ 2992.984179] rest_init from arch_post_acpi_subsys_init+0x0/0x8
[ 2992.984211] handlers:
[ 2992.984212] [<724fe1f9>] dwc2_handle_common_intr
[ 2992.984224] [<9bff6801>] usb_hcd_irq
[ 2992.984229] Disabling IRQ #55
Edited by Administrator