diff options
author | kmacy <kmacy@FreeBSD.org> | 2008-08-22 23:24:53 +0000 |
---|---|---|
committer | kmacy <kmacy@FreeBSD.org> | 2008-08-22 23:24:53 +0000 |
commit | df8989694aac0a70bc98cc1bb99a9bd557f441b7 (patch) | |
tree | 927949e820a29562ce592891de4d177285b532e9 /sys/kern/kern_intr.c | |
parent | a6b774bc3b273e7c391ec85e6c7e92dffc7d1354 (diff) | |
download | FreeBSD-src-df8989694aac0a70bc98cc1bb99a9bd557f441b7.zip FreeBSD-src-df8989694aac0a70bc98cc1bb99a9bd557f441b7.tar.gz |
Submit a band-aid for interrupt set up race.
MFC after: 1 month
Diffstat (limited to 'sys/kern/kern_intr.c')
-rw-r--r-- | sys/kern/kern_intr.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/sys/kern/kern_intr.c b/sys/kern/kern_intr.c index 78ae6010..41be569 100644 --- a/sys/kern/kern_intr.c +++ b/sys/kern/kern_intr.c @@ -49,6 +49,7 @@ __FBSDID("$FreeBSD$"); #include <sys/sched.h> #include <sys/smp.h> #include <sys/sysctl.h> +#include <sys/syslog.h> #include <sys/unistd.h> #include <sys/vmmeter.h> #include <machine/atomic.h> @@ -1312,7 +1313,12 @@ intr_event_handle(struct intr_event *ie, struct trapframe *frame) /* Schedule the ithread if needed. */ if (thread) { error = intr_event_schedule_thread(ie); +#ifndef XEN KASSERT(error == 0, ("bad stray interrupt")); +#else + if (error != 0) + log(LOG_WARNING, "bad stray interrupt"); +#endif } critical_exit(); td->td_intr_nesting_level--; |