================================ WARNING: inconsistent lock state syzkaller #0 Not tainted -------------------------------- inconsistent {SOFTIRQ-ON-W} -> {IN-SOFTIRQ-W} usage. ksoftirqd/1/21 [HC0[0]:SC1[1]:HE1:SE0] takes: ffff88807c618648 ((work_completion)(&(&host->detect)->work)){+.?.}-{0:0}, at: __flush_work+0x109/0xac0 kernel/workqueue.c:3072 {SOFTIRQ-ON-W} state was registered at: lock_acquire+0x1bb/0x4a0 kernel/locking/lockdep.c:5676 __flush_work+0x122/0xac0 kernel/workqueue.c:3072 __cancel_work_timer+0x3f4/0x560 kernel/workqueue.c:3163 mmc_free_host+0x15/0x30 drivers/mmc/core/host.c:672 ushc_clean_up drivers/mmc/host/ushc.c:408 [inline] ushc_probe+0xddd/0x11a0 drivers/mmc/host/ushc.c:528 usb_probe_interface+0x5be/0xae0 drivers/usb/core/driver.c:396 call_driver_probe drivers/base/dd.c:-1 [inline] really_probe+0x24a/0xb40 drivers/base/dd.c:638 __driver_probe_device+0x1f5/0x390 drivers/base/dd.c:804 driver_probe_device+0x4f/0x420 drivers/base/dd.c:834 __device_attach_driver+0x2c6/0x510 drivers/base/dd.c:962 bus_for_each_drv+0x184/0x210 drivers/base/bus.c:429 __device_attach+0x2a7/0x480 drivers/base/dd.c:1034 bus_probe_device+0xba/0x1d0 drivers/base/bus.c:489 device_add+0xbcf/0x1050 drivers/base/core.c:3712 usb_set_configuration+0x19d5/0x2030 drivers/usb/core/message.c:2223 usb_generic_driver_probe+0x89/0x150 drivers/usb/core/generic.c:238 usb_probe_device+0x126/0x250 drivers/usb/core/driver.c:293 call_driver_probe drivers/base/dd.c:-1 [inline] really_probe+0x24a/0xb40 drivers/base/dd.c:638 __driver_probe_device+0x1f5/0x390 drivers/base/dd.c:804 driver_probe_device+0x4f/0x420 drivers/base/dd.c:834 __device_attach_driver+0x2c6/0x510 drivers/base/dd.c:962 bus_for_each_drv+0x184/0x210 drivers/base/bus.c:429 __device_attach+0x2a7/0x480 drivers/base/dd.c:1034 bus_probe_device+0xba/0x1d0 drivers/base/bus.c:489 device_add+0xbcf/0x1050 drivers/base/core.c:3712 usb_new_device+0xa01/0x15e0 drivers/usb/core/hub.c:2659 hub_port_connect drivers/usb/core/hub.c:5517 [inline] hub_port_connect_change drivers/usb/core/hub.c:5657 [inline] port_event drivers/usb/core/hub.c:5817 [inline] hub_event+0x2b2f/0x5200 drivers/usb/core/hub.c:5899 process_one_work+0x8ab/0x1160 kernel/workqueue.c:2292 worker_thread+0xaf5/0x12a0 kernel/workqueue.c:2439 kthread+0x29d/0x330 kernel/kthread.c:376 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:295 irq event stamp: 641210 hardirqs last enabled at (641210): [] __cancel_work_timer+0x36a/0x560 kernel/workqueue.c:3156 hardirqs last disabled at (641209): [] try_to_grab_pending+0xfa/0x890 kernel/workqueue.c:1267 softirqs last enabled at (641138): [] run_ksoftirqd+0xa4/0x100 kernel/softirq.c:968 softirqs last disabled at (641143): [] run_ksoftirqd+0xa4/0x100 kernel/softirq.c:968 other info that might help us debug this: Possible unsafe locking scenario: CPU0 ---- lock((work_completion)(&(&host->detect)->work)); lock((work_completion)(&(&host->detect)->work)); *** DEADLOCK *** 1 lock held by ksoftirqd/1/21: #0: ffffc900001b7a60 ((&vub300->inactivity_timer)){+.-.}-{0:0}, at: call_timer_fn+0xcf/0x670 kernel/time/timer.c:1698 stack backtrace: CPU: 1 PID: 21 Comm: ksoftirqd/1 Not tainted syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/24/2026 Call Trace: dump_stack_lvl+0x188/0x24e lib/dump_stack.c:106 valid_state+0x13b/0x1d0 kernel/locking/lockdep.c:3974 mark_lock_irq+0xa9/0x900 kernel/locking/lockdep.c:4177 mark_lock+0x208/0x320 kernel/locking/lockdep.c:4633 mark_usage kernel/locking/lockdep.c:-1 [inline] __lock_acquire+0xce0/0x7c40 kernel/locking/lockdep.c:5017 lock_acquire+0x1bb/0x4a0 kernel/locking/lockdep.c:5676 __flush_work+0x122/0xac0 kernel/workqueue.c:3072 __cancel_work_timer+0x3f4/0x560 kernel/workqueue.c:3163 mmc_free_host+0x15/0x30 drivers/mmc/core/host.c:672 call_timer_fn+0x1ac/0x670 kernel/time/timer.c:1701 expire_timers kernel/time/timer.c:1752 [inline] __run_timers+0x56c/0x810 kernel/time/timer.c:2023 run_timer_softirq+0x63/0xf0 kernel/time/timer.c:2036 handle_softirqs+0x291/0x910 kernel/softirq.c:596 run_ksoftirqd+0xa4/0x100 kernel/softirq.c:968 smpboot_thread_fn+0x667/0xa30 kernel/smpboot.c:164 kthread+0x29d/0x330 kernel/kthread.c:376 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:295 BUG: sleeping function called from invalid context at kernel/workqueue.c:3013 in_atomic(): 1, irqs_disabled(): 0, non_block: 0, pid: 21, name: ksoftirqd/1 preempt_count: 100, expected: 0 RCU nest depth: 0, expected: 0 INFO: lockdep is turned off. Preemption disabled at: [] softirq_handle_begin kernel/softirq.c:434 [inline] [] handle_softirqs+0xfd/0x910 kernel/softirq.c:572 CPU: 1 PID: 21 Comm: ksoftirqd/1 Not tainted syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/24/2026 Call Trace: dump_stack_lvl+0x188/0x24e lib/dump_stack.c:106 __might_resched+0x489/0x5f0 kernel/sched/core.c:9970 start_flush_work kernel/workqueue.c:3013 [inline] __flush_work+0x142/0xac0 kernel/workqueue.c:3075 __cancel_work_timer+0x3f4/0x560 kernel/workqueue.c:3163 mmc_free_host+0x15/0x30 drivers/mmc/core/host.c:672 call_timer_fn+0x1ac/0x670 kernel/time/timer.c:1701 expire_timers kernel/time/timer.c:1752 [inline] __run_timers+0x56c/0x810 kernel/time/timer.c:2023 run_timer_softirq+0x63/0xf0 kernel/time/timer.c:2036 handle_softirqs+0x291/0x910 kernel/softirq.c:596 run_ksoftirqd+0xa4/0x100 kernel/softirq.c:968 smpboot_thread_fn+0x667/0xa30 kernel/smpboot.c:164 kthread+0x29d/0x330 kernel/kthread.c:376 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:295 BUG: scheduling while atomic: ksoftirqd/1/21/0x00000101 INFO: lockdep is turned off. Modules linked in: Preemption disabled at: [] softirq_handle_begin kernel/softirq.c:434 [inline] [] handle_softirqs+0xfd/0x910 kernel/softirq.c:572