summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authorru <ru@FreeBSD.org>2005-09-15 20:06:44 +0000
committerru <ru@FreeBSD.org>2005-09-15 20:06:44 +0000
commit13424e4bb87c87ba0a8e7c9da9c50505cb1238f1 (patch)
treebc3104daf0cffb41f781668a2522f4a8074d065b /sys
parent102f6b20671abe75d6cb1544a98015a0d2bfdff8 (diff)
downloadFreeBSD-src-13424e4bb87c87ba0a8e7c9da9c50505cb1238f1.zip
FreeBSD-src-13424e4bb87c87ba0a8e7c9da9c50505cb1238f1.tar.gz
Add two missing if_free() calls.
Diffstat (limited to 'sys')
-rw-r--r--sys/dev/nge/if_nge.c3
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);
OpenPOWER on IntegriCloud