summaryrefslogtreecommitdiffstats
path: root/sys/kern
diff options
context:
space:
mode:
authorpiso <piso@FreeBSD.org>2007-02-27 17:09:20 +0000
committerpiso <piso@FreeBSD.org>2007-02-27 17:09:20 +0000
commit88a4a229c2a089bbd73c39097be1d75724c89b0f (patch)
tree278c4a9594c0025d8a46a206920f270182095e93 /sys/kern
parent843968091888fd46d557169a41fc4403d81b8edc (diff)
downloadFreeBSD-src-88a4a229c2a089bbd73c39097be1d75724c89b0f.zip
FreeBSD-src-88a4a229c2a089bbd73c39097be1d75724c89b0f.tar.gz
Do not execute filter only handlers in ithread_execute_handlers():
this fixes the panics when filter only and ithread only handlers where sharing the same irq .
Diffstat (limited to 'sys/kern')
-rw-r--r--sys/kern/kern_intr.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/sys/kern/kern_intr.c b/sys/kern/kern_intr.c
index 96bdd4e..0964b9a 100644
--- a/sys/kern/kern_intr.c
+++ b/sys/kern/kern_intr.c
@@ -656,6 +656,10 @@ ithread_execute_handlers(struct proc *p, struct intr_event *ie)
continue;
}
+ /* Skip filter only handlers */
+ if (ih->ih_handler == NULL)
+ continue;
+
/*
* For software interrupt threads, we only execute
* handlers that have their need flag set. Hardware
OpenPOWER on IntegriCloud