summaryrefslogtreecommitdiff
path: root/sys/dev/bfe
diff options
context:
space:
mode:
authorRuslan Ermilov <ru@FreeBSD.org>2005-09-16 11:25:19 +0000
committerRuslan Ermilov <ru@FreeBSD.org>2005-09-16 11:25:19 +0000
commitad61f89618f7f944be09b07567ddf3a36d3862d2 (patch)
tree28693ec03ccca1e33bd2724f25f53e25086d4948 /sys/dev/bfe
parent8b28aef23886c140d14d326e9f1df96f7986cd29 (diff)
Notes
Diffstat (limited to 'sys/dev/bfe')
-rw-r--r--sys/dev/bfe/if_bfe.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/sys/dev/bfe/if_bfe.c b/sys/dev/bfe/if_bfe.c
index 5d6309a2b13e..756bba099f17 100644
--- a/sys/dev/bfe/if_bfe.c
+++ b/sys/dev/bfe/if_bfe.c
@@ -427,11 +427,8 @@ bfe_attach(device_t dev)
goto fail;
}
fail:
- if(error) {
+ if (error)
bfe_release_resources(sc);
- if (ifp != NULL)
- if_free(ifp);
- }
return (error);
}
@@ -451,7 +448,6 @@ bfe_detach(device_t dev)
if (device_is_attached(dev)) {
bfe_stop(sc);
ether_ifdetach(ifp);
- if_free(ifp);
}
bfe_chip_reset(sc);
@@ -939,6 +935,9 @@ bfe_release_resources(struct bfe_softc *sc)
if (sc->bfe_res != NULL)
bus_release_resource(dev, SYS_RES_MEMORY, 0x10, sc->bfe_res);
+ if (sc->bfe_ifp != NULL)
+ if_free(sc->bfe_ifp);
+
if(sc->bfe_tx_tag != NULL) {
bus_dmamap_unload(sc->bfe_tx_tag, sc->bfe_tx_map);
bus_dmamem_free(sc->bfe_tx_tag, sc->bfe_tx_list,