================================ WARNING: inconsistent lock state syzkaller #0 Not tainted -------------------------------- inconsistent {SOFTIRQ-ON-W} -> {IN-SOFTIRQ-W} usage. ksoftirqd/0/15 [HC0[0]:SC1[1]:HE1:SE0] takes: ffff8880774f4648 ((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_stop_host drivers/mmc/core/core.c:2303 [inline] mmc_stop_host+0xd5/0x460 drivers/mmc/core/core.c:2308 mmc_remove_host+0x11/0x60 drivers/mmc/core/host.c:651 vub300_disconnect+0x14b/0x2e0 drivers/mmc/host/vub300.c:2388 usb_unbind_interface+0x203/0x870 drivers/usb/core/driver.c:458 device_remove drivers/base/dd.c:549 [inline] __device_release_driver drivers/base/dd.c:1279 [inline] device_release_driver_internal+0x4cf/0x7c0 drivers/base/dd.c:1305 bus_remove_device+0x2dd/0x400 drivers/base/bus.c:531 device_del+0x63f/0xa80 drivers/base/core.c:3900 usb_disable_device+0x3e7/0x8a0 drivers/usb/core/message.c:1472 usb_disconnect+0x33c/0x8a0 drivers/usb/core/hub.c:2314 hub_port_connect drivers/usb/core/hub.c:5361 [inline] hub_port_connect_change drivers/usb/core/hub.c:5657 [inline] port_event drivers/usb/core/hub.c:5817 [inline] hub_event+0x1d27/0x5200 drivers/usb/core/hub.c:5899 process_one_work+0x8ab/0x1160 kernel/workqueue.c:2292 process_scheduled_works kernel/workqueue.c:2355 [inline] worker_thread+0xd6e/0x12a0 kernel/workqueue.c:2441 kthread+0x29d/0x330 kernel/kthread.c:376 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:295 irq event stamp: 1406456 hardirqs last enabled at (1406456): [] __cancel_work_timer+0x36a/0x560 kernel/workqueue.c:3156 hardirqs last disabled at (1406455): [] try_to_grab_pending+0xfa/0x890 kernel/workqueue.c:1267 softirqs last enabled at (1406286): [] run_ksoftirqd+0xa4/0x100 kernel/softirq.c:968 softirqs last disabled at (1406291): [] 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/0/15: #0: ffffc90000147a60 ((&vub300->inactivity_timer)){+.-.}-{0:0}, at: call_timer_fn+0xcf/0x670 kernel/time/timer.c:1698 stack backtrace: CPU: 0 PID: 15 Comm: ksoftirqd/0 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: 15, name: ksoftirqd/0 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: 0 PID: 15 Comm: ksoftirqd/0 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/0/15/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