aboutsummaryrefslogtreecommitdiff
path: root/sys/dev
diff options
context:
space:
mode:
authorAlexander Motin <mav@FreeBSD.org>2013-04-24 19:00:45 +0000
committerAlexander Motin <mav@FreeBSD.org>2013-04-24 19:00:45 +0000
commitc33c978915c9d302134841492e83c3fb449d1625 (patch)
tree8a7f582a33904f7291a852bfa9f089fb9f846881 /sys/dev
parent0be23a54cf8e0e33ccc32b6be6e827269a39210a (diff)
downloadsrc-c33c978915c9d302134841492e83c3fb449d1625.tar.gz
src-c33c978915c9d302134841492e83c3fb449d1625.zip
Move hptmv and mpt drivers shutdown a bit later to the SHUTDOWN_PRI_LAST
stage of shutdown_post_sync. That should allow CAM to do final cache flush at the SHUTDOWN_PRI_DEFAULT without using polling magic. MFC after: 3 days
Notes
Notes: svn path=/head/; revision=249849
Diffstat (limited to 'sys/dev')
-rw-r--r--sys/dev/hptmv/entry.c6
-rw-r--r--sys/dev/mpt/mpt_pci.c2
2 files changed, 5 insertions, 3 deletions
diff --git a/sys/dev/hptmv/entry.c b/sys/dev/hptmv/entry.c
index 248d6558579e..cdc3e181f887 100644
--- a/sys/dev/hptmv/entry.c
+++ b/sys/dev/hptmv/entry.c
@@ -2605,9 +2605,11 @@ launch_worker_thread(void)
* hpt_worker_thread needs to be suspended after shutdown sync, when fs sync finished.
*/
#if (__FreeBSD_version < 500043)
- EVENTHANDLER_REGISTER(shutdown_post_sync, shutdown_kproc, hptdaemonproc, SHUTDOWN_PRI_FIRST);
+ EVENTHANDLER_REGISTER(shutdown_post_sync, shutdown_kproc, hptdaemonproc,
+ SHUTDOWN_PRI_LAST);
#else
- EVENTHANDLER_REGISTER(shutdown_post_sync, kproc_shutdown, hptdaemonproc, SHUTDOWN_PRI_FIRST);
+ EVENTHANDLER_REGISTER(shutdown_post_sync, kproc_shutdown, hptdaemonproc,
+ SHUTDOWN_PRI_LAST);
#endif
}
/*
diff --git a/sys/dev/mpt/mpt_pci.c b/sys/dev/mpt/mpt_pci.c
index f1fb018a660e..d6a1d383ea7b 100644
--- a/sys/dev/mpt/mpt_pci.c
+++ b/sys/dev/mpt/mpt_pci.c
@@ -563,7 +563,7 @@ mpt_pci_attach(device_t dev)
}
mpt->eh = EVENTHANDLER_REGISTER(shutdown_post_sync, mpt_pci_shutdown,
- dev, SHUTDOWN_PRI_DEFAULT);
+ dev, SHUTDOWN_PRI_LAST);
if (mpt->eh == NULL) {
mpt_prt(mpt, "shutdown event registration failed\n");