diff options
author | davidch <davidch@FreeBSD.org> | 2007-06-08 02:34:44 +0000 |
---|---|---|
committer | davidch <davidch@FreeBSD.org> | 2007-06-08 02:34:44 +0000 |
commit | 5740b4bccdc10d36c1ca486f654fee4d13cfe3e3 (patch) | |
tree | ddce1493d92baa1e4853320140ae3a8700b40cb3 /sys/dev/mii/brgphy.c | |
parent | abf8c6f8db906260f07bc3c7256b8bdff767dba9 (diff) | |
download | FreeBSD-src-5740b4bccdc10d36c1ca486f654fee4d13cfe3e3.zip FreeBSD-src-5740b4bccdc10d36c1ca486f654fee4d13cfe3e3.tar.gz |
- Fixed a problem that caused autonegotiation failures.
Submitted by: tor.egge@cvsup.no.freebsd.org
MFC after: 4 weeks
Diffstat (limited to 'sys/dev/mii/brgphy.c')
-rw-r--r-- | sys/dev/mii/brgphy.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/sys/dev/mii/brgphy.c b/sys/dev/mii/brgphy.c index ae0da30..d35125e 100644 --- a/sys/dev/mii/brgphy.c +++ b/sys/dev/mii/brgphy.c @@ -238,6 +238,9 @@ brgphy_attach(device_t dev) brgphy_reset(sc); + sc->mii_capabilities = PHY_READ(sc, MII_BMSR) & ma->mii_capmask; + if (sc->mii_capabilities & BMSR_EXTSTAT) + sc->mii_extcapabilities = PHY_READ(sc, MII_EXTSR); device_printf(dev, " "); #define ADD(m, c) ifmedia_add(&mii->mii_media, (m), (c), NULL) @@ -262,9 +265,10 @@ brgphy_attach(device_t dev) if (fast_ether == 0) { ADD(IFM_MAKEWORD(IFM_ETHER, IFM_1000_T, 0, sc->mii_inst), BRGPHY_S1000); + printf("1000baseT, "); ADD(IFM_MAKEWORD(IFM_ETHER, IFM_1000_T, IFM_FDX, sc->mii_inst), BRGPHY_S1000 | BRGPHY_BMCR_FDX); - printf("1000baseTX-FDX, "); + printf("1000baseT-FDX, "); } } else { ADD(IFM_MAKEWORD(IFM_ETHER, IFM_1000_SX, IFM_FDX, sc->mii_inst), |