diff options
Diffstat (limited to 'sys/dev/dc/if_dc.c')
-rw-r--r-- | sys/dev/dc/if_dc.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/sys/dev/dc/if_dc.c b/sys/dev/dc/if_dc.c index d4322d5..8742fa4 100644 --- a/sys/dev/dc/if_dc.c +++ b/sys/dev/dc/if_dc.c @@ -132,7 +132,7 @@ __FBSDID("$FreeBSD$"); #define SRM_MEDIA #endif -#include <pci/if_dcreg.h> +#include <dev/dc/if_dcreg.h> #ifdef __sparc64__ #include <dev/ofw/openfirm.h> @@ -2356,8 +2356,6 @@ dc_detach(device_t dev) callout_drain(&sc->dc_stat_ch); ether_ifdetach(ifp); } - if (ifp) - if_free(ifp); if (sc->dc_miibus) device_delete_child(dev, sc->dc_miibus); bus_generic_detach(dev); @@ -2369,6 +2367,9 @@ dc_detach(device_t dev) if (sc->dc_res) bus_release_resource(dev, DC_RES, DC_RID, sc->dc_res); + if (ifp) + if_free(ifp); + if (sc->dc_cdata.dc_sbuf != NULL) bus_dmamem_free(sc->dc_stag, sc->dc_cdata.dc_sbuf, sc->dc_smap); if (sc->dc_ldata != NULL) |