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
This commit is contained in:
Alexander Motin 2013-04-24 19:00:45 +00:00
parent 0be23a54cf
commit c33c978915
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=249849
2 changed files with 5 additions and 3 deletions

View File

@ -2605,9 +2605,11 @@ launch_worker_thread(void)
* hpt_worker_thread needs to be suspended after shutdown sync, when fs sync finished. * hpt_worker_thread needs to be suspended after shutdown sync, when fs sync finished.
*/ */
#if (__FreeBSD_version < 500043) #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 #else
EVENTHANDLER_REGISTER(shutdown_post_sync, kproc_shutdown, hptdaemonproc, SHUTDOWN_PRI_FIRST); EVENTHANDLER_REGISTER(shutdown_post_sync, kproc_shutdown, hptdaemonproc,
SHUTDOWN_PRI_LAST);
#endif #endif
} }
/* /*

View File

@ -563,7 +563,7 @@ mpt_pci_attach(device_t dev)
} }
mpt->eh = EVENTHANDLER_REGISTER(shutdown_post_sync, mpt_pci_shutdown, mpt->eh = EVENTHANDLER_REGISTER(shutdown_post_sync, mpt_pci_shutdown,
dev, SHUTDOWN_PRI_DEFAULT); dev, SHUTDOWN_PRI_LAST);
if (mpt->eh == NULL) { if (mpt->eh == NULL) {
mpt_prt(mpt, "shutdown event registration failed\n"); mpt_prt(mpt, "shutdown event registration failed\n");