summaryrefslogtreecommitdiffstats
path: root/sys/dev/dc
diff options
context:
space:
mode:
authoryongari <yongari@FreeBSD.org>2007-11-16 10:25:36 +0000
committeryongari <yongari@FreeBSD.org>2007-11-16 10:25:36 +0000
commit21faca2ee7f073e31d345fd7f2af8494d7060517 (patch)
tree6a96fff67828f66a4043afba1a520e87965e3db4 /sys/dev/dc
parent6a78af898e9fd65c9dd5465d3915905b53846273 (diff)
downloadFreeBSD-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.c8
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;
OpenPOWER on IntegriCloud