diff options
| author | Ruslan Ermilov <ru@FreeBSD.org> | 2005-09-16 11:25:19 +0000 |
|---|---|---|
| committer | Ruslan Ermilov <ru@FreeBSD.org> | 2005-09-16 11:25:19 +0000 |
| commit | ad61f89618f7f944be09b07567ddf3a36d3862d2 (patch) | |
| tree | 28693ec03ccca1e33bd2724f25f53e25086d4948 /sys/dev/bfe | |
| parent | 8b28aef23886c140d14d326e9f1df96f7986cd29 (diff) | |
Notes
Diffstat (limited to 'sys/dev/bfe')
| -rw-r--r-- | sys/dev/bfe/if_bfe.c | 9 |
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, |
