From: Jan Kiszka <jan.kis...@siemens.com>

We are setting it on xnintr_attach(), and Linux seems to dislike when it
is non-NULL on free_irq().

__free_irq():
...
        /* make sure affinity_hint is cleaned up */
        if (WARN_ON_ONCE(desc->affinity_hint))
                desc->affinity_hint = NULL;

Signed-off-by: Jan Kiszka <jan.kis...@siemens.com>
---

Only seen this now, with a plain rtdm_irq_request/free pattern, and I'm 
still wondering why this was missed so far - therefore RFC.

 kernel/cobalt/dovetail/intr.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/kernel/cobalt/dovetail/intr.c b/kernel/cobalt/dovetail/intr.c
index d1a1c14a91..60d5bf882c 100644
--- a/kernel/cobalt/dovetail/intr.c
+++ b/kernel/cobalt/dovetail/intr.c
@@ -103,6 +103,7 @@ EXPORT_SYMBOL_GPL(xnintr_attach);
 void xnintr_detach(struct xnintr *intr)
 {
        secondary_mode_only();
+       irq_set_affinity_hint(intr->irq, NULL);
        free_irq(intr->irq, intr);
 }
 EXPORT_SYMBOL_GPL(xnintr_detach);
-- 
2.26.2

Reply via email to