summaryrefslogtreecommitdiffstats
path: root/sys/dev/aac/aac.c
diff options
context:
space:
mode:
authorscottl <scottl@FreeBSD.org>2003-02-06 00:07:12 +0000
committerscottl <scottl@FreeBSD.org>2003-02-06 00:07:12 +0000
commitae4d85478fbb45de6ece210a1d9010469120bef4 (patch)
tree88810661a96a08e748a47025edb6ec864c7e227d /sys/dev/aac/aac.c
parentab1fb5442526ebe64fd1699d61d8b57df6796d6a (diff)
downloadFreeBSD-src-ae4d85478fbb45de6ece210a1d9010469120bef4.zip
FreeBSD-src-ae4d85478fbb45de6ece210a1d9010469120bef4.tar.gz
Don't include aac_cam.h, since it was nuked in the last commit.
Deregister the shutdown eventhandler on unload.
Diffstat (limited to 'sys/dev/aac/aac.c')
-rw-r--r--sys/dev/aac/aac.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/sys/dev/aac/aac.c b/sys/dev/aac/aac.c
index 4f23f1a..1353138 100644
--- a/sys/dev/aac/aac.c
+++ b/sys/dev/aac/aac.c
@@ -69,7 +69,6 @@
#include <dev/aac/aac_ioctl.h>
#include <dev/aac/aacvar.h>
#include <dev/aac/aac_tables.h>
-#include <dev/aac/aac_cam.h>
static void aac_startup(void *arg);
static void aac_add_container(struct aac_softc *sc,
@@ -321,9 +320,10 @@ aac_attach(struct aac_softc *sc)
panic("Could not create AIF thread\n");
/* Register the shutdown method to only be called post-dump */
- if ((EVENTHANDLER_REGISTER(shutdown_final, aac_shutdown, sc->aac_dev,
- SHUTDOWN_PRI_DEFAULT)) == NULL)
- device_printf(sc->aac_dev, "shutdown event registration failed\n");
+ 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->quirks & AAC_QUIRK_NOCAM)) {
@@ -508,8 +508,6 @@ aac_detach(device_t dev)
return (error);
}
- bus_generic_detach(dev);
-
if (sc->aifflags & AAC_AIFFLAGS_RUNNING) {
sc->aifflags |= AAC_AIFFLAGS_EXIT;
wakeup(sc->aifthread);
@@ -522,6 +520,8 @@ aac_detach(device_t dev)
if ((error = aac_shutdown(dev)))
return(error);
+ EVENTHANDLER_DEREGISTER(shutdown_final, sc->eh);
+
aac_free(sc);
return(0);
OpenPOWER on IntegriCloud