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
