[PATCH 0/7] Provide and use generic_handle_irq_safe() where appropriate.

From: Sebastian Andrzej Siewior
Date: Thu Jan 27 2022 - 06:33:18 EST


generic_handle_irq() must be used from primary IRQ-handler (chain
handler/ interrupt controller entry). It is low level code and the
function expects that interrupts are disabled at entry point.

This isn't the case for invocations from tasklets, workqueues or the
primary interrupt handler on PREEMPT_RT. Once this gets noticed a
"local_irq_disable|safe()" is added. To avoid further confusion this
series adds generic_handle_irq_safe() which can be used from any context
and adds a few user.

Sebastian