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
This commit is contained in:
Daniel O'Callaghan 2002-02-27 02:11:34 +00:00
parent 012b7109b9
commit 3c3c45471c

View File

@ -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);
}