diff options
author | peter <peter@FreeBSD.org> | 2003-01-06 08:28:15 +0000 |
---|---|---|
committer | peter <peter@FreeBSD.org> | 2003-01-06 08:28:15 +0000 |
commit | 7bdf343d0cce9b564736ba23efd473c1db8a65c8 (patch) | |
tree | 59cb5553fb902d3ef27317d8782822548e9681a8 | |
parent | 150f6d2e0e167472f40a6de84730e910fa78228f (diff) | |
download | FreeBSD-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.
-rw-r--r-- | sys/cam/scsi/scsi_da.c | 2 |
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"); } } |