summaryrefslogtreecommitdiffstats
path: root/sys/dev/mii/rlphy.c
diff options
context:
space:
mode:
authorwpaul <wpaul@FreeBSD.org>1999-09-01 17:07:27 +0000
committerwpaul <wpaul@FreeBSD.org>1999-09-01 17:07:27 +0000
commit97a0881b480d9f72fbc579a5db6d495a84741978 (patch)
tree82fdadb85d5b45365c7381443e5518ee38717011 /sys/dev/mii/rlphy.c
parent03db8f049488216c3bd4b0639ebd313ad804f49c (diff)
downloadFreeBSD-src-97a0881b480d9f72fbc579a5db6d495a84741978.zip
FreeBSD-src-97a0881b480d9f72fbc579a5db6d495a84741978.tar.gz
Re-arrange things in the attach routines of the 3Com and RealTek PHY
drivers so that we don't clobber things or leave them uninitialized if we abort due a failure. Submitted by: Luoqi Chen
Diffstat (limited to 'sys/dev/mii/rlphy.c')
-rw-r--r--sys/dev/mii/rlphy.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/sys/dev/mii/rlphy.c b/sys/dev/mii/rlphy.c
index 423159e..956160d 100644
--- a/sys/dev/mii/rlphy.c
+++ b/sys/dev/mii/rlphy.c
@@ -121,12 +121,6 @@ static int rlphy_attach(dev)
ma = device_get_ivars(dev);
sc->mii_dev = device_get_parent(dev);
mii = device_get_softc(sc->mii_dev);
- LIST_INSERT_HEAD(&mii->mii_phys, sc, mii_list);
-
- sc->mii_inst = mii->mii_instance;
- sc->mii_phy = ma->mii_phyno;
- sc->mii_service = rlphy_service;
- sc->mii_pdata = mii;
/*
* The RealTek PHY can never be isolated, so never allow non-zero
@@ -137,6 +131,12 @@ static int rlphy_attach(dev)
return(ENXIO);
}
+ LIST_INSERT_HEAD(&mii->mii_phys, sc, mii_list);
+
+ sc->mii_inst = mii->mii_instance;
+ sc->mii_phy = ma->mii_phyno;
+ sc->mii_service = rlphy_service;
+ sc->mii_pdata = mii;
mii->mii_instance++;
sc->mii_flags |= MIIF_NOISOLATE;
OpenPOWER on IntegriCloud