diff options
author | ru <ru@FreeBSD.org> | 2005-09-15 20:06:44 +0000 |
---|---|---|
committer | ru <ru@FreeBSD.org> | 2005-09-15 20:06:44 +0000 |
commit | 13424e4bb87c87ba0a8e7c9da9c50505cb1238f1 (patch) | |
tree | bc3104daf0cffb41f781668a2522f4a8074d065b /sys/dev/nge | |
parent | 102f6b20671abe75d6cb1544a98015a0d2bfdff8 (diff) | |
download | FreeBSD-src-13424e4bb87c87ba0a8e7c9da9c50505cb1238f1.zip FreeBSD-src-13424e4bb87c87ba0a8e7c9da9c50505cb1238f1.tar.gz |
Add two missing if_free() calls.
Diffstat (limited to 'sys/dev/nge')
-rw-r--r-- | sys/dev/nge/if_nge.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/sys/dev/nge/if_nge.c b/sys/dev/nge/if_nge.c index ed60cf3..88ded49 100644 --- a/sys/dev/nge/if_nge.c +++ b/sys/dev/nge/if_nge.c @@ -877,6 +877,7 @@ nge_attach(dev) /* * Do MII setup. */ + /* XXX: leaked on error */ if (mii_phy_probe(dev, &sc->nge_miibus, nge_ifmedia_upd, nge_ifmedia_sts)) { if (CSR_READ_4(sc, NGE_CFG) & NGE_CFG_TBI_EN) { @@ -912,6 +913,7 @@ nge_attach(dev) } else { printf("nge%d: MII without any PHY!\n", sc->nge_unit); + if_free(ifp); bus_release_resource(dev, SYS_RES_IRQ, 0, sc->nge_irq); bus_release_resource(dev, NGE_RES, NGE_RID, sc->nge_res); @@ -933,6 +935,7 @@ nge_attach(dev) nge_intr, sc, &sc->nge_intrhand); if (error) { /* XXX: resource leaks */ + if_free(ifp); bus_release_resource(dev, SYS_RES_IRQ, 0, sc->nge_irq); bus_release_resource(dev, NGE_RES, NGE_RID, sc->nge_res); printf("nge%d: couldn't set up irq\n", unit); |