From: Jeff Dike A small update to make UML's handle_IRQ_event look like the i386 version. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton --- 25-akpm/arch/um/kernel/irq.c | 5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-) diff -puN arch/um/kernel/irq.c~uml-update-handle_irq_event arch/um/kernel/irq.c --- 25/arch/um/kernel/irq.c~uml-update-handle_irq_event Tue Sep 14 17:08:24 2004 +++ 25-akpm/arch/um/kernel/irq.c Tue Sep 14 17:08:24 2004 @@ -147,7 +147,7 @@ int handle_IRQ_event(unsigned int irq, s struct irqaction * action) { int status = 1; /* Force the "do bottom halves" bit */ - int ret; + int ret, retval = 0; if (!(action->flags & SA_INTERRUPT)) local_irq_enable(); @@ -156,6 +156,7 @@ int handle_IRQ_event(unsigned int irq, s ret = action->handler(irq, action->dev_id, regs); if (ret == IRQ_HANDLED) status |= action->flags; + retval |= ret; action = action->next; } while (action); if (status & SA_SAMPLE_RANDOM) @@ -163,7 +164,7 @@ int handle_IRQ_event(unsigned int irq, s local_irq_disable(); - return status; + return retval; } /* _