[PATCH 4/6] genirq: Fix misleading synchronize_irq() documentation

From: Rishabh Bhatnagar
Date: Thu Sep 29 2022 - 17:08:04 EST


From: Thomas Gleixner <tglx@xxxxxxxxxxxxx>

commit 1d21f2af8571c6a6a44e7c1911780614847b0253 upstream.

The function might sleep, so it cannot be called from interrupt
context. Not even with care.

Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: Marc Zyngier <marc.zyngier@xxxxxxx>
Link: https://lkml.kernel.org/r/20190628111440.189241552@xxxxxxxxxxxxx
Signed-off-by: Rishabh Bhatnagar <risbhat@xxxxxxxxxx>
---
kernel/irq/manage.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/kernel/irq/manage.c b/kernel/irq/manage.c
index 4e4fc7879307..a72d7ae0418b 100644
--- a/kernel/irq/manage.c
+++ b/kernel/irq/manage.c
@@ -96,7 +96,8 @@ EXPORT_SYMBOL(synchronize_hardirq);
* 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 synchronize_irq(unsigned int irq)
{
--
2.37.1