I was debugging the big deadlock that's fixed in staging-next when I hit this backtrace. Anybody have any ideas on what's going on here? ================================ WARNING: inconsistent lock state 5.6.0-rc5jook #1 Tainted: G C -------------------------------- inconsistent {HARDIRQ-ON-W} -> {IN-HARDIRQ-W} usage. swapper/0/0 [HC1[1]:SC0[0]:HE0:SE1] takes: ffffffff8543c8e0 (console_lock){?.+.}, at: speakup_clear_selection+0xe/0x20 [speakup] {HARDIRQ-ON-W} state was registered at: lock_acquire+0x13f/0x370 console_lock+0x33/0x50 con_init+0x17/0x644 console_init+0x335/0x4b3 start_kernel+0x4e8/0x7af x86_64_start_reservations+0x24/0x26 x86_64_start_kernel+0xf5/0xfc secondary_startup_64+0xb6/0xc0 irq event stamp: 2657920 hardirqs last enabled at (2657917): [<ffffffff83b64d4a>] cpuidle_enter_state+0x11a/0xda0 hardirqs last disabled at (2657918): [<ffffffff82206c31>] trace_hardirqs_off_thunk+0x1a/0x1c softirqs last enabled at (2657920): [<ffffffff823f30c1>] _local_bh_enable+0x21/0x40 softirqs last disabled at (2657919): [<ffffffff823f41bc>] irq_enter+0xac/0xe0 \x0aother info that might help us debug this: Possible unsafe locking scenario:\x0a CPU0 ---- lock(console_lock); <Interrupt> lock(console_lock); \x0a *** DEADLOCK ***\x0a 6 locks held by swapper/0/0: #0: ffff8881583820e8 (&serio->lock){-.-.}, at: serio_interrupt+0x2e/0x120 [serio] #1: ffff888157873228 (&(&dev->event_lock)->rlock){-.-.}, at: input_event+0x53/0x90 #2: ffffffff85451240 (rcu_read_lock){....}, at: input_pass_values+0x2d/0x5a0 #3: ffffffff85abf438 (kbd_event_lock){-.-.}, at: kbd_event+0x9a/0x3b20 #4: ffffffff85451240 (rcu_read_lock){....}, at: __atomic_notifier_call_chain+0x5/0x130 #5: ffffffffc0c100f8 (speakup_info.spinlock){-.-.}, at: keyboard_notifier_call+0x774/0x4a40 [speakup] \x0astack backtrace: CPU: 0 PID: 0 Comm: swapper/0 Tainted: G C 5.6.0-rc5jook #1 Hardware name: LENOVO 6474B86/6474B86, BIOS CBET4000 4.5-732-gcc9095f 02/12/2017 Call Trace: <IRQ> dump_stack+0xc2/0x11a print_usage_bug.cold+0x3e0/0x4b1 mark_lock+0xd95/0x1390 ? print_irq_inversion_bug+0xa0/0xa0 __lock_acquire+0x21eb/0x5730 ? __kasan_check_read+0x11/0x20 ? check_chain_key+0x215/0x5e0 ? register_lock_class+0x1580/0x1580 ? lock_downgrade+0x7a0/0x7a0 ? __rwlock_init+0x140/0x140 lock_acquire+0x13f/0x370 ? speakup_clear_selection+0xe/0x20 [speakup] console_lock+0x33/0x50 ? speakup_clear_selection+0xe/0x20 [speakup] speakup_clear_selection+0xe/0x20 [speakup] speakup_cut+0x19e/0x4b0 [speakup] keyboard_notifier_call+0x1f04/0x4a40 [speakup] ? read_all_doc+0x240/0x240 [speakup] notifier_call_chain+0xbf/0x130 __atomic_notifier_call_chain+0x80/0x130 atomic_notifier_call_chain+0x16/0x20 kbd_event+0x7d7/0x3b20 ? k_pad+0x850/0x850 ? sysrq_filter+0x450/0xd40 input_to_handler+0x362/0x4b0 ? rcu_read_lock_sched_held+0xe0/0xe0 input_pass_values+0x408/0x5a0 ? __rwlock_init+0x140/0x140 ? lock_acquire+0x13f/0x370 input_handle_event+0x70e/0x1380 input_event+0x67/0x90 atkbd_interrupt+0xe62/0x1d4e [atkbd] ? __kasan_check_write+0x14/0x20 ? atkbd_event_work+0x130/0x130 [atkbd] ? _raw_spin_lock_irqsave+0x26/0x70 serio_interrupt+0x93/0x120 [serio] i8042_interrupt+0x232/0x510 [i8042] ? rcu_read_lock_bh_held+0xd0/0xd0 ? handle_irq_event+0xa5/0x13a ? i8042_remove+0x1f0/0x1f0 [i8042] __handle_irq_event_percpu+0xe6/0x6c0 handle_irq_event_percpu+0x71/0x150 ? __handle_irq_event_percpu+0x6c0/0x6c0 ? __kasan_check_read+0x11/0x20 ? do_raw_spin_unlock+0x5c/0x240 handle_irq_event+0xad/0x13a handle_edge_irq+0x233/0xa90 do_IRQ+0x10b/0x310 common_interrupt+0xf/0xf </IRQ> RIP: 0010:cpuidle_enter_state+0x11e/0xda0 Code: b8 5d 94 fe 80 7d c0 00 74 17 9c 58 66 66 90 66 90 f6 c4 02 0f 85 fe 07 00 00 31 ff e8 7b 80 ac fe e8 46 b8 c2 fe fb 66 66 90 <66> 66 90 45 85 ed 0f 88 42 06 00 00 4d 63 f5 49 83 fe 09 0f 87 4c RSP: 0018:ffffffff85207cb0 EFLAGS: 00000286 ORIG_RAX: ffffffffffffffdb RAX: 0000000000000007 RBX: ffff88815a452f90 RCX: 0000000000000000 RDX: 0000000000000000 RSI: 0000000000000006 RDI: ffffffff85226fc4 RBP: ffffffff85207d08 R08: 0000000000000001 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000000 R12: ffffffff859bfd60 R13: 0000000000000003 R14: ffffffff859bfeb0 R15: 0000000000000003 cpuidle_enter+0x4f/0xa0 do_idle+0x41d/0x5a0 ? arch_cpu_idle_exit+0x50/0x50 cpu_startup_entry+0x20/0x22 rest_init+0x1e4/0x32d arch_call_rest_init+0xe/0x1b start_kernel+0x774/0x7af ? thread_stack_cache_init+0xb/0xb x86_64_start_reservations+0x24/0x26 x86_64_start_kernel+0xf5/0xfc secondary_startup_64+0xb6/0xc0 Selection: mark console not the same as cut _______________________________________________ Speakup mailing list Speakup@xxxxxxxxxxxxxxxxx http://linux-speakup.org/cgi-bin/mailman/listinfo/speakup