* Paul Gortmaker | 2013-11-28 15:10:29 [-0500]: >Hi Steve, Hi Paul, >Someone tripped over this with usb console: > > in_atomic(): 0, irqs_disabled(): 1, pid: 36, name: kworker/1:1 > Pid: 36, comm: kworker/1:1 Tainted: G O 3.4.34-rt40_preempt-rt #1 > Call Trace: > [<c105461e>] __might_sleep+0xce/0xf0 > [<c14fe24c>] rt_spin_lock+0x1c/0x40 > [<c1056f65>] complete+0x25/0x60 > [<c14fde10>] ? rt_mutex_lock+0x20/0x50 > [<c135e1b0>] usb_stor_blocking_completion+0x10/0x20 > [<c13317b7>] usb_poll_irq_flush_helper+0x67/0xf0 > [<c1056ad4>] ? migrate_enable+0x74/0x170 > [<c10427f7>] process_one_work+0x107/0x410 git grep usb_poll_irq_flush_helper shows no results in 3.4.61-rt77 and 3.6.11.9-rt42. The function seems to disable interrups and it completes a usb-storage request. This would works on mainline but in -RT those things run in thread context (usb-hcd-use-local-irq-nort.patch). Depending on what urbs you complete via usb_poll_irq_flush_helper() you could deadlock if the urb-complete handler grabs a lock. >Thanks, >Paul. Sebastian -- To unsubscribe from this list: send the line "unsubscribe linux-rt-users" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html