From c33c978915c9d302134841492e83c3fb449d1625 Mon Sep 17 00:00:00 2001 From: Alexander Motin Date: Wed, 24 Apr 2013 19:00:45 +0000 Subject: [PATCH] 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 --- sys/dev/hptmv/entry.c | 6 ++++-- sys/dev/mpt/mpt_pci.c | 2 +- 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");