Invoking irq_enter/exit for root vIRQs is arch business (at least x86
needs to interleave it with exit code).

Signed-off-by: Jan Kiszka <[email protected]>
---
 kernel/ipipe/core.c |    6 ++----
 1 files changed, 2 insertions(+), 4 deletions(-)

diff --git a/kernel/ipipe/core.c b/kernel/ipipe/core.c
index 756ad02..129113b 100644
--- a/kernel/ipipe/core.c
+++ b/kernel/ipipe/core.c
@@ -1240,11 +1240,9 @@ void __ipipe_sync_stage(void)
                if (likely(ipd != ipipe_root_domain)) {
                        ipd->irqs[irq].handler(irq, ipd->irqs[irq].cookie);
                        __ipipe_run_irqtail(irq);
-               } else if (ipipe_virtual_irq_p(irq)) {
-                       irq_enter();
+               } else if (ipipe_virtual_irq_p(irq))
                        __ipipe_do_root_virq(ipd, irq);
-                       irq_exit();
-               } else
+               else
                        __ipipe_do_root_xirq(ipd, irq);
 
                local_irq_disable_hw();
-- 
1.7.1

_______________________________________________
Adeos-main mailing list
[email protected]
https://mail.gna.org/listinfo/adeos-main

Reply via email to