Page MenuHomeFreeBSD

D47365.diff
No OneTemporary

D47365.diff

diff --git a/sys/dev/msk/if_msk.c b/sys/dev/msk/if_msk.c
--- a/sys/dev/msk/if_msk.c
+++ b/sys/dev/msk/if_msk.c
@@ -252,6 +252,7 @@
static int mskc_probe(device_t);
static int mskc_attach(device_t);
+static void mskc_child_deleted(device_t, device_t);
static int mskc_detach(device_t);
static int mskc_shutdown(device_t);
static int mskc_setup_rambuffer(struct msk_softc *);
@@ -335,6 +336,7 @@
DEVMETHOD(device_resume, mskc_resume),
DEVMETHOD(device_shutdown, mskc_shutdown),
+ DEVMETHOD(bus_child_deleted, mskc_child_deleted),
DEVMETHOD(bus_get_dma_tag, mskc_get_dma_tag),
DEVMETHOD_END
@@ -2046,6 +2048,12 @@
return (0);
}
+static void
+mskc_child_deleted(device_t dev, device_t child)
+{
+ free(device_get_ivars(child), M_DEVBUF);
+}
+
static int
mskc_detach(device_t dev)
{
@@ -2056,13 +2064,9 @@
if (device_is_alive(dev)) {
if (sc->msk_devs[MSK_PORT_A] != NULL) {
- free(device_get_ivars(sc->msk_devs[MSK_PORT_A]),
- M_DEVBUF);
device_delete_child(dev, sc->msk_devs[MSK_PORT_A]);
}
if (sc->msk_devs[MSK_PORT_B] != NULL) {
- free(device_get_ivars(sc->msk_devs[MSK_PORT_B]),
- M_DEVBUF);
device_delete_child(dev, sc->msk_devs[MSK_PORT_B]);
}
bus_generic_detach(dev);
diff --git a/sys/dev/sk/if_sk.c b/sys/dev/sk/if_sk.c
--- a/sys/dev/sk/if_sk.c
+++ b/sys/dev/sk/if_sk.c
@@ -185,6 +185,7 @@
static int skc_probe(device_t);
static int skc_attach(device_t);
+static void skc_child_deleted(device_t, device_t);
static int skc_detach(device_t);
static int skc_shutdown(device_t);
static int skc_suspend(device_t);
@@ -291,6 +292,7 @@
DEVMETHOD(device_resume, skc_resume),
DEVMETHOD(device_shutdown, skc_shutdown),
+ DEVMETHOD(bus_child_deleted, skc_child_deleted),
DEVMETHOD(bus_get_dma_tag, skc_get_dma_tag),
DEVMETHOD_END
@@ -1738,6 +1740,12 @@
return(error);
}
+static void
+skc_child_deleted(device_t dev, device_t child)
+{
+ free(device_get_ivars(child), M_DEVBUF);
+}
+
/*
* Shutdown hardware and free up resources. This can be called any
* time after the mutex has been initialized. It is called in both
@@ -1796,11 +1804,9 @@
if (device_is_alive(dev)) {
if (sc->sk_devs[SK_PORT_A] != NULL) {
- free(device_get_ivars(sc->sk_devs[SK_PORT_A]), M_DEVBUF);
device_delete_child(dev, sc->sk_devs[SK_PORT_A]);
}
if (sc->sk_devs[SK_PORT_B] != NULL) {
- free(device_get_ivars(sc->sk_devs[SK_PORT_B]), M_DEVBUF);
device_delete_child(dev, sc->sk_devs[SK_PORT_B]);
}
bus_generic_detach(dev);

File Metadata

Mime Type
text/plain
Expires
Sun, Nov 17, 2:53 PM (20 h, 18 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
14662722
Default Alt Text
D47365.diff (2 KB)

Event Timeline