summaryrefslogtreecommitdiffstats
path: root/sys/dev/mii/rlphy.c
diff options
context:
space:
mode:
authordanny <danny@FreeBSD.org>2002-02-27 02:11:34 +0000
committerdanny <danny@FreeBSD.org>2002-02-27 02:11:34 +0000
commit653a9a574c2a54cdd18d7ca6430811b38927f68a (patch)
treece4b8380770b011a42538eb932680ce692a77272 /sys/dev/mii/rlphy.c
parentcc8622fa940b274acb304784a312a367a246988b (diff)
downloadFreeBSD-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.c17
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);
-}
OpenPOWER on IntegriCloud