summaryrefslogtreecommitdiffstats
path: root/sys/cam/scsi
diff options
context:
space:
mode:
authorpeter <peter@FreeBSD.org>2003-01-06 08:28:15 +0000
committerpeter <peter@FreeBSD.org>2003-01-06 08:28:15 +0000
commit7bdf343d0cce9b564736ba23efd473c1db8a65c8 (patch)
tree59cb5553fb902d3ef27317d8782822548e9681a8 /sys/cam/scsi
parent150f6d2e0e167472f40a6de84730e910fa78228f (diff)
downloadFreeBSD-src-7bdf343d0cce9b564736ba23efd473c1db8a65c8.zip
FreeBSD-src-7bdf343d0cce9b564736ba23efd473c1db8a65c8.tar.gz
Move dashutdown from SHUTDOWN_PRI_DEFAULT to SHUTDOWN_PRI_FIRST.
Otherwise, the scsi devices that it is trying to issue commands to may have gone away. This is what caused shutdown to hang on ia64 systems with mpt scsi controllers. The bus system has torn down the device tree and reset the mpt controller etc, and suddenly along comes dashutdown and wants to issue a few more scsi commands.... <HANG!> This shouldn't work on i386 either, but it seems to work solely due to luck.
Diffstat (limited to 'sys/cam/scsi')
-rw-r--r--sys/cam/scsi/scsi_da.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/cam/scsi/scsi_da.c b/sys/cam/scsi/scsi_da.c
index e143609..a526701 100644
--- a/sys/cam/scsi/scsi_da.c
+++ b/sys/cam/scsi/scsi_da.c
@@ -927,7 +927,7 @@ dainit(void)
/* Register our shutdown event handler */
if ((EVENTHANDLER_REGISTER(shutdown_post_sync, dashutdown,
- NULL, SHUTDOWN_PRI_DEFAULT)) == NULL)
+ NULL, SHUTDOWN_PRI_FIRST)) == NULL)
printf("dainit: shutdown event registration failed!\n");
}
}
OpenPOWER on IntegriCloud