Page MenuHomeFreeBSD

D42338.diff
No OneTemporary

D42338.diff

diff --git a/sys/dev/aac/aac.c b/sys/dev/aac/aac.c
--- a/sys/dev/aac/aac.c
+++ b/sys/dev/aac/aac.c
@@ -328,12 +328,6 @@
&sc->aifthread, 0, 0, "aac%daif", unit))
panic("Could not create AIF thread");
- /* Register the shutdown method to only be called post-dump */
- if ((sc->eh = EVENTHANDLER_REGISTER(shutdown_final, aac_shutdown,
- sc->aac_dev, SHUTDOWN_PRI_DEFAULT)) == NULL)
- device_printf(sc->aac_dev,
- "shutdown event registration failed\n");
-
/* Register with CAM for the non-DASD devices */
if ((sc->flags & AAC_FLAGS_ENABLE_CAM) != 0) {
TAILQ_INIT(&sc->aac_sim_tqh);
@@ -701,9 +695,7 @@
}
if ((error = aac_shutdown(dev)))
- return(error);
-
- EVENTHANDLER_DEREGISTER(shutdown_final, sc->eh);
+ return (error);
aac_free(sc);
diff --git a/sys/dev/aac/aac_pci.c b/sys/dev/aac/aac_pci.c
--- a/sys/dev/aac/aac_pci.c
+++ b/sys/dev/aac/aac_pci.c
@@ -69,6 +69,7 @@
DEVMETHOD(device_probe, aac_pci_probe),
DEVMETHOD(device_attach, aac_pci_attach),
DEVMETHOD(device_detach, aac_detach),
+ DEVMETHOD(device_shutdown, aac_shutdown),
DEVMETHOD(device_suspend, aac_suspend),
DEVMETHOD(device_resume, aac_resume),
diff --git a/sys/dev/aacraid/aacraid.c b/sys/dev/aacraid/aacraid.c
--- a/sys/dev/aacraid/aacraid.c
+++ b/sys/dev/aacraid/aacraid.c
@@ -306,12 +306,6 @@
&sc->aifthread, 0, 0, "aacraid%daif", unit))
panic("Could not create AIF thread");
- /* Register the shutdown method to only be called post-dump */
- if ((sc->eh = EVENTHANDLER_REGISTER(shutdown_final, aacraid_shutdown,
- sc->aac_dev, SHUTDOWN_PRI_DEFAULT)) == NULL)
- device_printf(sc->aac_dev,
- "shutdown event registration failed\n");
-
/* Find containers */
mtx_lock(&sc->aac_io_lock);
aac_alloc_sync_fib(sc, &fib);
@@ -765,9 +759,7 @@
panic("Cannot shutdown AIF thread");
if ((error = aacraid_shutdown(dev)))
- return(error);
-
- EVENTHANDLER_DEREGISTER(shutdown_final, sc->eh);
+ return (error);
aacraid_free(sc);
diff --git a/sys/dev/aacraid/aacraid_pci.c b/sys/dev/aacraid/aacraid_pci.c
--- a/sys/dev/aacraid/aacraid_pci.c
+++ b/sys/dev/aacraid/aacraid_pci.c
@@ -67,6 +67,7 @@
DEVMETHOD(device_probe, aacraid_pci_probe),
DEVMETHOD(device_attach, aacraid_pci_attach),
DEVMETHOD(device_detach, aacraid_detach),
+ DEVMETHOD(device_shutdown, aacraid_shutdown),
DEVMETHOD(device_suspend, aacraid_suspend),
DEVMETHOD(device_resume, aacraid_resume),
diff --git a/sys/dev/aacraid/aacraid_var.h b/sys/dev/aacraid/aacraid_var.h
--- a/sys/dev/aacraid/aacraid_var.h
+++ b/sys/dev/aacraid/aacraid_var.h
@@ -336,7 +336,6 @@
int aac_irq_rid[AAC_MAX_MSIX];
void *aac_intr[AAC_MAX_MSIX]; /* interrupt handle */
struct aac_msix_ctx aac_msix[AAC_MAX_MSIX]; /* context */
- eventhandler_tag eh;
struct callout aac_daemontime; /* clock daemon callout */
/* controller features, limits and status */

File Metadata

Mime Type
text/plain
Expires
Sat, Feb 22, 4:48 PM (1 h, 30 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
16773549
Default Alt Text
D42338.diff (2 KB)

Event Timeline