Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/arch/arm26/arm26 Actually check which netisrs are needed...



details:   https://anonhg.NetBSD.org/src/rev/fe4107dd12c3
branches:  trunk
changeset: 494098:fe4107dd12c3
user:      bjh21 <bjh21%NetBSD.org@localhost>
date:      Sat Jul 01 17:33:55 2000 +0000

description:
Actually check which netisrs are needed rather than running them all.
(oops)

diffstat:

 sys/arch/arm26/arm26/softintr.c |  10 ++++++----
 1 files changed, 6 insertions(+), 4 deletions(-)

diffs (31 lines):

diff -r edff8d34c332 -r fe4107dd12c3 sys/arch/arm26/arm26/softintr.c
--- a/sys/arch/arm26/arm26/softintr.c   Sat Jul 01 16:27:47 2000 +0000
+++ b/sys/arch/arm26/arm26/softintr.c   Sat Jul 01 17:33:55 2000 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: softintr.c,v 1.2 2000/06/29 08:32:35 mrg Exp $ */
+/* $NetBSD: softintr.c,v 1.3 2000/07/01 17:33:55 bjh21 Exp $ */
 
 /*
  * Copyright (c) 1999 Ben Harris.
@@ -38,7 +38,7 @@
 
 #include <sys/param.h>
 
-__RCSID("$NetBSD: softintr.c,v 1.2 2000/06/29 08:32:35 mrg Exp $");
+__RCSID("$NetBSD: softintr.c,v 1.3 2000/07/01 17:33:55 bjh21 Exp $");
 
 #include <sys/malloc.h>
 #include <sys/queue.h>
@@ -166,8 +166,10 @@
 {
 
 #define DONETISR(bit, fn) do {                                         \
-       atomic_clear_bit(&netisr, 1 << (bit));                          \
-       fn();                                                           \
+       if (netisr & (1 << (bit))) {                                    \
+               atomic_clear_bit(&netisr, 1 << (bit));                  \
+               fn();                                                   \
+       }                                                               \
 } while (0)
 #include <net/netisr_dispatch.h>
 #undef DONETISR



Home | Main Index | Thread Index | Old Index