summaryrefslogtreecommitdiffstats
path: root/sys/kern/kern_intr.c
diff options
context:
space:
mode:
authoralfred <alfred@FreeBSD.org>2003-02-14 13:10:40 +0000
committeralfred <alfred@FreeBSD.org>2003-02-14 13:10:40 +0000
commit268bc18ef22d1e8576dc27bfd457db03cc8f64a1 (patch)
tree3d097cb02213bb33ea65e44a51a5c671d8b7d12d /sys/kern/kern_intr.c
parent6c48c14c4929b75deeaa10e0726ebea8d04c85ef (diff)
downloadFreeBSD-src-268bc18ef22d1e8576dc27bfd457db03cc8f64a1.zip
FreeBSD-src-268bc18ef22d1e8576dc27bfd457db03cc8f64a1.tar.gz
Fix crash dumps on ata and scsi.
To fix scsi, don't wait for ithreads if we're dumping, it makes the debugger sad. To fix ata, use what appears to be a polling method if we're dumping, I stole this from tmm but added code to ensure that this change is only in effect while dumping. Tested by: des
Diffstat (limited to 'sys/kern/kern_intr.c')
-rw-r--r--sys/kern/kern_intr.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/kern/kern_intr.c b/sys/kern/kern_intr.c
index 75b0627..bd3d531 100644
--- a/sys/kern/kern_intr.c
+++ b/sys/kern/kern_intr.c
@@ -30,6 +30,7 @@
#include <sys/param.h>
#include <sys/bus.h>
+#include <sys/conf.h>
#include <sys/rtprio.h>
#include <sys/systm.h>
#include <sys/interrupt.h>
@@ -461,7 +462,7 @@ swi_sched(void *cookie, int flags)
*/
atomic_store_rel_int(&ih->ih_need, 1);
if (!(flags & SWI_DELAY)) {
- error = ithread_schedule(it, !cold);
+ error = ithread_schedule(it, !cold && !dumping);
KASSERT(error == 0, ("stray software interrupt"));
}
}
OpenPOWER on IntegriCloud