diff options
author | wpaul <wpaul@FreeBSD.org> | 1999-09-01 17:07:27 +0000 |
---|---|---|
committer | wpaul <wpaul@FreeBSD.org> | 1999-09-01 17:07:27 +0000 |
commit | 97a0881b480d9f72fbc579a5db6d495a84741978 (patch) | |
tree | 82fdadb85d5b45365c7381443e5518ee38717011 /sys/dev/mii/rlphy.c | |
parent | 03db8f049488216c3bd4b0639ebd313ad804f49c (diff) | |
download | FreeBSD-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.c | 12 |
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; |