summaryrefslogtreecommitdiffstats
path: root/sys/ia64
diff options
context:
space:
mode:
authormarcel <marcel@FreeBSD.org>2003-01-06 00:25:31 +0000
committermarcel <marcel@FreeBSD.org>2003-01-06 00:25:31 +0000
commit95f59f22f73d880fcb3ed287d333c60dacc6614b (patch)
tree5501aae48a5d700f682e8f7360649bee937b3979 /sys/ia64
parent8f4f539c28e783bcdebe467f27cde31d6e37a50a (diff)
downloadFreeBSD-src-95f59f22f73d880fcb3ed287d333c60dacc6614b.zip
FreeBSD-src-95f59f22f73d880fcb3ed287d333c60dacc6614b.tar.gz
Count interrupts as soon as possible. This makes sure interrupts are
counted even when there are no handlers.
Diffstat (limited to 'sys/ia64')
-rw-r--r--sys/ia64/ia64/interrupt.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/ia64/ia64/interrupt.c b/sys/ia64/ia64/interrupt.c
index da80777..cb051a9 100644
--- a/sys/ia64/ia64/interrupt.c
+++ b/sys/ia64/ia64/interrupt.c
@@ -338,6 +338,9 @@ ia64_dispatch_intr(void *frame, unsigned long vector)
if (i == NULL)
return; /* no ithread for this vector */
+ if (i->cntp)
+ atomic_add_long(i->cntp, 1);
+
ithd = i->ithd;
KASSERT(ithd != NULL, ("interrupt vector without a thread"));
@@ -348,9 +351,6 @@ ia64_dispatch_intr(void *frame, unsigned long vector)
if (TAILQ_EMPTY(&ithd->it_handlers))
return;
- if (i->cntp)
- atomic_add_long(i->cntp, 1);
-
/*
* Handle a fast interrupt if there is no actual thread for this
* interrupt by calling the handler directly without Giant. Note
OpenPOWER on IntegriCloud