From 3894b59d71fd90eebe0c775c6197d1bed1b17bfb Mon Sep 17 00:00:00 2001 From: Theo de Raadt Date: Tue, 24 Dec 1996 20:29:03 +0000 Subject: call all irq routines --- sys/arch/mvme68k/mvme68k/trap.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'sys/arch') diff --git a/sys/arch/mvme68k/mvme68k/trap.c b/sys/arch/mvme68k/mvme68k/trap.c index fb4bde04d11..05ee76df038 100644 --- a/sys/arch/mvme68k/mvme68k/trap.c +++ b/sys/arch/mvme68k/mvme68k/trap.c @@ -1,4 +1,4 @@ -/* $OpenBSD: trap.c,v 1.7 1996/06/11 10:07:13 deraadt Exp $ */ +/* $OpenBSD: trap.c,v 1.8 1996/12/24 20:29:02 deraadt Exp $ */ /* * Copyright (c) 1995 Theo de Raadt @@ -1134,6 +1134,7 @@ hardintr(pc, evec, frame) int vec = (evec & 0xfff) >> 2; /* XXX should be m68k macro? */ extern u_long intrcnt[]; /* XXX from locore */ struct intrhand *ih; + int count = 0; int r; cnt.v_intr++; @@ -1141,9 +1142,10 @@ hardintr(pc, evec, frame) for (ih = intrs[vec]; ih; ih = ih->ih_next) { r = (*ih->ih_fn)(ih->ih_wantframe ? frame : ih->ih_arg); if (r > 0) - return; + count++; } - return (straytrap(pc, evec)); + if (count == 0) + return (straytrap(pc, evec)); } #endif /* !INTR_ASM */ -- cgit v1.2.3