From 599741f908e4a1996ccffb8939fa4346f653da5a Mon Sep 17 00:00:00 2001 From: David Christensen Date: Fri, 8 Jun 2007 02:34:44 +0000 Subject: [PATCH] - Fixed a problem that caused autonegotiation failures. Submitted by: tor.egge@cvsup.no.freebsd.org MFC after: 4 weeks --- sys/dev/mii/brgphy.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/sys/dev/mii/brgphy.c b/sys/dev/mii/brgphy.c index ae0da308044..d35125e09ac 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),