Hi Manfred!
On Fri, 2022-12-16 at 16:04 +0100, Manfred Spraul wrote:
diff --git a/kernel/irq/manage.c b/kernel/irq/manage.cI'm not sure about this, latest wait_event() inside synchronize_irq()
index 5b7cf28df290..8ce75495e04f 100644
--- a/kernel/irq/manage.c
+++ b/kernel/irq/manage.c
@@ -723,10 +723,13 @@ EXPORT_SYMBOL(disable_irq_nosync);
* to complete before returning. If you use this function while
* holding a resource the IRQ handler may need you will
deadlock.
*
- * This function may be called - with care - from IRQ context.
+ * Can only be called from preemptible code as it might sleep
when
+ * an interrupt thread is associated to @irq.
+ *
*/
void disable_irq(unsigned int irq)
{
+ might_sleep();
has it already.
if (!__disable_irq_nosync(irq))
synchronize_irq(irq);
}