This ID is the break condition for the loop ("no more interrupts"),
nothing the handler should be interested in.

Reported-by: Johannes Rosa <johannes.r...@siemens.com>
Signed-off-by: Jan Kiszka <jan.kis...@siemens.com>
---
 inmates/lib/arm/gic.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/inmates/lib/arm/gic.c b/inmates/lib/arm/gic.c
index 0ab8198..925b348 100644
--- a/inmates/lib/arm/gic.c
+++ b/inmates/lib/arm/gic.c
@@ -21,15 +21,16 @@ void vector_irq(void)
 {
        u32 irqn;
 
-       do {
+       while (1) {
                irqn = gic_read_ack();
+               if (irqn == 0x3ff)
+                       break;
 
                if (irq_handler)
                        irq_handler(irqn);
 
                gic_write_eoi(irqn);
-
-       } while (irqn != 0x3ff);
+       }
 }
 
 void gic_setup(irq_handler_t handler)
-- 
2.1.4

-- 
You received this message because you are subscribed to the Google Groups 
"Jailhouse" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jailhouse-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to