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:
parent
012b7109b9
commit
3c3c45471c
@ -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);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user