diff options
author | danny <danny@FreeBSD.org> | 2002-02-27 02:11:34 +0000 |
---|---|---|
committer | danny <danny@FreeBSD.org> | 2002-02-27 02:11:34 +0000 |
commit | 653a9a574c2a54cdd18d7ca6430811b38927f68a (patch) | |
tree | ce4b8380770b011a42538eb932680ce692a77272 /sys/dev/mii/rlphy.c | |
parent | cc8622fa940b274acb304784a312a367a246988b (diff) | |
download | FreeBSD-src-653a9a574c2a54cdd18d7ca6430811b38927f68a.zip FreeBSD-src-653a9a574c2a54cdd18d7ca6430811b38927f68a.tar.gz |
Remove problematic PHY_WRITE so that autoneg to 10 Mbps
actually works.
Submitted by: Dennis <TD790@aol.com>
Reviewed by: Bill Paul <wpaul@freebsd.org>
MFC after: 7 days
Diffstat (limited to 'sys/dev/mii/rlphy.c')
-rw-r--r-- | sys/dev/mii/rlphy.c | 17 |
1 files changed, 1 insertions, 16 deletions
diff --git a/sys/dev/mii/rlphy.c b/sys/dev/mii/rlphy.c index f6a4436..27825fa 100644 --- a/sys/dev/mii/rlphy.c +++ b/sys/dev/mii/rlphy.c @@ -79,7 +79,6 @@ static driver_t rlphy_driver = { DRIVER_MODULE(rlphy, miibus, rlphy_driver, rlphy_devclass, 0, 0); static int rlphy_service __P((struct mii_softc *, struct mii_data *, int)); -static void rlphy_reset __P((struct mii_softc *)); static int rlphy_probe(dev) device_t dev; @@ -150,7 +149,7 @@ static int rlphy_attach(dev) ADD(IFM_MAKEWORD(IFM_ETHER, IFM_100_TX, IFM_LOOP, sc->mii_inst), BMCR_LOOP|BMCR_S100); - rlphy_reset(sc); + mii_phy_reset(sc); sc->mii_capabilities = PHY_READ(sc, MII_BMSR) & ma->mii_capmask; @@ -257,17 +256,3 @@ rlphy_service(sc, mii, cmd) mii_phy_update(sc, cmd); return (0); } - -static void -rlphy_reset(sc) - struct mii_softc *sc; -{ - - mii_phy_reset(sc); - - /* - * XXX RealTek PHY doesn't set the BMCR properly after - * XXX reset, which breaks autonegotiation. - */ - PHY_WRITE(sc, MII_BMCR, BMCR_S100|BMCR_AUTOEN|BMCR_FDX); -} |