On Wed, Mar 22, 2017 at 04:18:43PM +0100, Lionel Debieve wrote: > Use raw_spin_lock in enable/disable channel as it comes from > interrupt context. > > BUG: sleeping function called from invalid context at > kernel/locking/rtmutex.c:995 > in_atomic(): 1, irqs_disabled(): 128, pid: 307, name: pulseaudio > Preemption disabled at: > [<c01790fc>] __handle_domain_irq+0x4c/0xec > CPU: 0 PID: 307 Comm: pulseaudio > Hardware name: STi SoC with Flattened Device Tree > [<c011046c>] (unwind_backtrace) > [<c010c7f4>] (show_stack) > [<c03d1578>] (dump_stack) > [<c014e440>] (___might_sleep) > [<c08e7f24>] (rt_spin_lock) > [<c069bb04>] (sti_mbox_disable_channel) > [<c069befc>] (sti_mbox_irq_handler) > [<c0179900>] (__handle_irq_event_percpu) > [<c01799dc>] (handle_irq_event_percpu) > [<c0179a78>] (handle_irq_event) > [<c017d1c8>] (handle_fasteoi_irq) > [<c0178c08>] (generic_handle_irq) > [<c017912c>] (__handle_domain_irq) > [<c0101488>] (gic_handle_irq) Which kernel were you testing on, here? From what I can tell, this should have been fixed with Thomas's commit: 2a1d3ab8986d ("genirq: Handle force threading of irqs with primary and thread handler") Which landed in 4.4. It forces the primary handler to be threaded as well. Julia -- 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