diff options
author | ru <ru@FreeBSD.org> | 2005-10-13 21:11:20 +0000 |
---|---|---|
committer | ru <ru@FreeBSD.org> | 2005-10-13 21:11:20 +0000 |
commit | b9c7add838ccaace56cbb1d065e502e478f92d4e (patch) | |
tree | 42d971c6d541bfdfd3204acba1a4ae6004c37124 /sys/dev | |
parent | 9d4f7296d4bd26d172e55a582c41d028d6dceb40 (diff) | |
download | FreeBSD-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.c | 5 | ||||
-rw-r--r-- | sys/dev/ti/if_ti.c | 4 | ||||
-rw-r--r-- | sys/dev/vr/if_vr.c | 5 |
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); |