diff options
author | yongari <yongari@FreeBSD.org> | 2007-11-16 10:25:36 +0000 |
---|---|---|
committer | yongari <yongari@FreeBSD.org> | 2007-11-16 10:25:36 +0000 |
commit | 21faca2ee7f073e31d345fd7f2af8494d7060517 (patch) | |
tree | 6a96fff67828f66a4043afba1a520e87965e3db4 /sys/dev/dc | |
parent | 6a78af898e9fd65c9dd5465d3915905b53846273 (diff) | |
download | FreeBSD-src-21faca2ee7f073e31d345fd7f2af8494d7060517.zip FreeBSD-src-21faca2ee7f073e31d345fd7f2af8494d7060517.tar.gz |
IEEE 802.3 Annex 28B.3 explicitly specifies the following relative
priorities of the technologies supported by 802.3 Selector Field
value.
1000BASE-T full duplex
1000BASE-T
100BASE-T2 full duplex
100BASE-TX full duplex
100BASE-T2
100BASE-T4
100BASE-TX
10BASE-T full duplex
10BAST-T
However PHY drivers didn't honor the order such that 100BASE-T4 had
higher priority than 100BASE-TX full duplex. Fix that long standing
bugs such that have PHY drivers choose the highest common denominator
ability.
Fix a bug in dcphy which inadvertently aceepts 100BASE-T4.
PR: 92599
Diffstat (limited to 'sys/dev/dc')
-rw-r--r-- | sys/dev/dc/dcphy.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/sys/dev/dc/dcphy.c b/sys/dev/dc/dcphy.c index 3b1de0f..f01860b 100644 --- a/sys/dev/dc/dcphy.c +++ b/sys/dev/dc/dcphy.c @@ -364,12 +364,12 @@ dcphy_status(struct mii_softc *sc) if (tstat & DC_TSTAT_LP_CAN_NWAY) { anlpar = tstat >> 16; - if (anlpar & ANLPAR_T4 && - sc->mii_capabilities & BMSR_100TXHDX) - mii->mii_media_active |= IFM_100_T4; - else if (anlpar & ANLPAR_TX_FD && + if (anlpar & ANLPAR_TX_FD && sc->mii_capabilities & BMSR_100TXFDX) mii->mii_media_active |= IFM_100_TX|IFM_FDX; + else if (anlpar & ANLPAR_T4 && + sc->mii_capabilities & BMSR_100T4) + mii->mii_media_active |= IFM_100_T4; else if (anlpar & ANLPAR_TX && sc->mii_capabilities & BMSR_100TXHDX) mii->mii_media_active |= IFM_100_TX; |