hub 1-1:0.0: activate --> -90 usb 1-1-port1: over-current condition usb 1-1-port1: config error ===================================== WARNING: bad unlock balance detected! 5.16.0-rc1-next-20211118-syzkaller #0 Not tainted ------------------------------------- kworker/1:1/25 is trying to release lock (hcd->address0_mutex) at: [] hub_port_connect drivers/usb/core/hub.c:5402 [inline] [] hub_port_connect_change drivers/usb/core/hub.c:5493 [inline] [] port_event drivers/usb/core/hub.c:5639 [inline] [] hub_event+0x2a9d/0x4450 drivers/usb/core/hub.c:5721 but there are no more locks to release! other info that might help us debug this: 3 locks held by kworker/1:1/25: #0: ffff888012be6538 ((wq_completion)usb_hub_wq){+.+.}-{0:0}, at: arch_atomic64_set arch/x86/include/asm/atomic64_64.h:34 [inline] #0: ffff888012be6538 ((wq_completion)usb_hub_wq){+.+.}-{0:0}, at: arch_atomic_long_set include/linux/atomic/atomic-long.h:41 [inline] #0: ffff888012be6538 ((wq_completion)usb_hub_wq){+.+.}-{0:0}, at: atomic_long_set include/linux/atomic/atomic-instrumented.h:1198 [inline] #0: ffff888012be6538 ((wq_completion)usb_hub_wq){+.+.}-{0:0}, at: set_work_data kernel/workqueue.c:635 [inline] #0: ffff888012be6538 ((wq_completion)usb_hub_wq){+.+.}-{0:0}, at: set_work_pool_and_clear_pending kernel/workqueue.c:662 [inline] #0: ffff888012be6538 ((wq_completion)usb_hub_wq){+.+.}-{0:0}, at: process_one_work+0x896/0x1690 kernel/workqueue.c:2269 #1: ffffc90000dffdb0 ((work_completion)(&hub->events)){+.+.}-{0:0}, at: process_one_work+0x8ca/0x1690 kernel/workqueue.c:2273 #2: ffff88807352a220 (&dev->mutex){....}-{3:3}, at: device_lock include/linux/device.h:760 [inline] #2: ffff88807352a220 (&dev->mutex){....}-{3:3}, at: hub_event+0x1c1/0x4450 drivers/usb/core/hub.c:5667 stack backtrace: CPU: 1 PID: 25 Comm: kworker/1:1 Not tainted 5.16.0-rc1-next-20211118-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 Workqueue: usb_hub_wq hub_event Call Trace: __dump_stack lib/dump_stack.c:88 [inline] dump_stack_lvl+0xcd/0x134 lib/dump_stack.c:106 print_unlock_imbalance_bug include/trace/events/lock.h:58 [inline] __lock_release kernel/locking/lockdep.c:5316 [inline] lock_release.cold+0x34/0x4e kernel/locking/lockdep.c:5657 __mutex_unlock_slowpath+0x99/0x5e0 kernel/locking/mutex.c:900 hub_port_connect drivers/usb/core/hub.c:5402 [inline] hub_port_connect_change drivers/usb/core/hub.c:5493 [inline] port_event drivers/usb/core/hub.c:5639 [inline] hub_event+0x2a9d/0x4450 drivers/usb/core/hub.c:5721 process_one_work+0x9b2/0x1690 kernel/workqueue.c:2298 worker_thread+0x658/0x11f0 kernel/workqueue.c:2445 kthread+0x405/0x4f0 kernel/kthread.c:327 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:295 usb 1-1: new high-speed USB device number 3 using dummy_hcd usb 1-1: Using ep0 maxpacket: 16 usb 1-1: config 0 interface 0 altsetting 0 endpoint 0x81 has an invalid bInterval 0, changing to 7 usb 1-1: config 0 interface 0 altsetting 0 endpoint 0x81 has invalid wMaxPacketSize 0 usb 1-1: config 0 interface 0 altsetting 0 has 1 endpoint descriptor, different from the interface descriptor's value: 9 usb 1-1: New USB device found, idVendor=045e, idProduct=05da, bcdDevice= 0.00 usb 1-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0 usb 1-1: config 0 descriptor?? hub 1-1:0.0: USB hub found hub 1-1:0.0: config failed, can't read hub descriptor (err -22) usbhid 1-1:0.0: can't add hid device: -71 usbhid: probe of 1-1:0.0 failed with error -71 usb 1-1: reset high-speed USB device number 3 using dummy_hcd usb 1-1: Using ep0 maxpacket: 16 usb 3-1: USB disconnect, device number 5 usb 3-1: new high-speed USB device number 6 using dummy_hcd usb 3-1: Using ep0 maxpacket: 16 usb 3-1: config 0 interface 0 altsetting 0 endpoint 0x81 has an invalid bInterval 0, changing to 7 usb 3-1: config 0 interface 0 altsetting 0 endpoint 0x81 has invalid wMaxPacketSize 0 usb 3-1: config 0 interface 0 altsetting 0 has 1 endpoint descriptor, different from the interface descriptor's value: 9 usb 3-1: New USB device found, idVendor=045e, idProduct=05da, bcdDevice= 0.00 usb 3-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0 usb 3-1: config 0 descriptor?? hub 3-1:0.0: USB hub found hub 3-1:0.0: 1 port detected