summaryrefslogtreecommitdiffstats
path: root/sys/dev
diff options
context:
space:
mode:
authorru <ru@FreeBSD.org>2005-10-13 21:11:20 +0000
committerru <ru@FreeBSD.org>2005-10-13 21:11:20 +0000
commitb9c7add838ccaace56cbb1d065e502e478f92d4e (patch)
tree42d971c6d541bfdfd3204acba1a4ae6004c37124 /sys/dev
parent9d4f7296d4bd26d172e55a582c41d028d6dceb40 (diff)
downloadFreeBSD-src-b9c7add838ccaace56cbb1d065e502e478f92d4e.zip
FreeBSD-src-b9c7add838ccaace56cbb1d065e502e478f92d4e.tar.gz
In detach method, move if_free() after bus_teardown_intr().
Diffstat (limited to 'sys/dev')
-rw-r--r--sys/dev/sf/if_sf.c5
-rw-r--r--sys/dev/ti/if_ti.c4
-rw-r--r--sys/dev/vr/if_vr.c5
3 files changed, 8 insertions, 6 deletions
diff --git a/sys/dev/sf/if_sf.c b/sys/dev/sf/if_sf.c
index 7b2538b..d51641d 100644
--- a/sys/dev/sf/if_sf.c
+++ b/sys/dev/sf/if_sf.c
@@ -830,8 +830,6 @@ sf_detach(dev)
callout_drain(&sc->sf_stat_callout);
ether_ifdetach(ifp);
}
- if (ifp)
- if_free(ifp);
if (sc->sf_miibus)
device_delete_child(dev, sc->sf_miibus);
bus_generic_detach(dev);
@@ -843,6 +841,9 @@ sf_detach(dev)
if (sc->sf_res)
bus_release_resource(dev, SF_RES, SF_RID, sc->sf_res);
+ if (ifp)
+ if_free(ifp);
+
if (sc->sf_ldata)
contigfree(sc->sf_ldata, sizeof(struct sf_list_data), M_DEVBUF);
diff --git a/sys/dev/ti/if_ti.c b/sys/dev/ti/if_ti.c
index 43e9ec6..d4fd437 100644
--- a/sys/dev/ti/if_ti.c
+++ b/sys/dev/ti/if_ti.c
@@ -2330,8 +2330,6 @@ ti_detach(dev)
ether_ifdetach(ifp);
bus_generic_detach(dev);
}
- if (ifp)
- if_free(ifp);
ifmedia_removeall(&sc->ifmedia);
if (sc->ti_rdata)
@@ -2349,6 +2347,8 @@ ti_detach(dev)
bus_release_resource(dev, SYS_RES_MEMORY, TI_PCI_LOMEM,
sc->ti_res);
}
+ if (ifp)
+ if_free(ifp);
#ifdef TI_PRIVATE_JUMBOS
if (sc->ti_cdata.ti_jumbo_buf)
diff --git a/sys/dev/vr/if_vr.c b/sys/dev/vr/if_vr.c
index 8f15b84..c2158d6 100644
--- a/sys/dev/vr/if_vr.c
+++ b/sys/dev/vr/if_vr.c
@@ -814,8 +814,6 @@ vr_detach(device_t dev)
ether_ifdetach(ifp);
VR_LOCK(sc);
}
- if (ifp)
- if_free(ifp);
if (sc->vr_miibus)
device_delete_child(dev, sc->vr_miibus);
bus_generic_detach(dev);
@@ -827,6 +825,9 @@ vr_detach(device_t dev)
if (sc->vr_res)
bus_release_resource(dev, VR_RES, VR_RID, sc->vr_res);
+ if (ifp)
+ if_free(ifp);
+
if (sc->vr_ldata)
contigfree(sc->vr_ldata, sizeof(struct vr_list_data), M_DEVBUF);
OpenPOWER on IntegriCloud