From 21faca2ee7f073e31d345fd7f2af8494d7060517 Mon Sep 17 00:00:00 2001 From: yongari Date: Fri, 16 Nov 2007 10:25:36 +0000 Subject: 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 --- sys/dev/txp/if_txp.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'sys/dev/txp') diff --git a/sys/dev/txp/if_txp.c b/sys/dev/txp/if_txp.c index 6d7eda1..3478970 100644 --- a/sys/dev/txp/if_txp.c +++ b/sys/dev/txp/if_txp.c @@ -1695,10 +1695,10 @@ txp_ifmedia_sts(ifp, ifmr) return; } - if (anlpar & ANLPAR_T4) - ifmr->ifm_active |= IFM_100_T4; - else if (anlpar & ANLPAR_TX_FD) + if (anlpar & ANLPAR_TX_FD) ifmr->ifm_active |= IFM_100_TX|IFM_FDX; + else if (anlpar & ANLPAR_T4) + ifmr->ifm_active |= IFM_100_T4; else if (anlpar & ANLPAR_TX) ifmr->ifm_active |= IFM_100_TX; else if (anlpar & ANLPAR_10_FD) -- cgit v1.1