From rene@sigmix.tunix.nl  Tue Jan 31 11:49:24 2006
Return-Path: <rene@sigmix.tunix.nl>
Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125])
	by hub.freebsd.org (Postfix) with ESMTP id BAEE516A420
	for <FreeBSD-gnats-submit@freebsd.org>; Tue, 31 Jan 2006 11:49:24 +0000 (GMT)
	(envelope-from rene@sigmix.tunix.nl)
Received: from sigmix.tunix.nl (bastixp.tunix.nl [217.149.223.38])
	by mx1.FreeBSD.org (Postfix) with ESMTP id 05E3943D4C
	for <FreeBSD-gnats-submit@freebsd.org>; Tue, 31 Jan 2006 11:49:23 +0000 (GMT)
	(envelope-from rene@sigmix.tunix.nl)
Received: from sigmix.tunix.nl (localhost [127.0.0.1])
	by sigmix.tunix.nl (8.13.4/8.13.4) with ESMTP id k0VBnLxV049602
	for <FreeBSD-gnats-submit@freebsd.org>; Tue, 31 Jan 2006 12:49:21 +0100 (CET)
	(envelope-from rene@sigmix.tunix.nl)
Received: (from rene@localhost)
	by sigmix.tunix.nl (8.13.4/8.13.3/Submit) id k0VBnL22049601;
	Tue, 31 Jan 2006 12:49:21 +0100 (CET)
	(envelope-from rene)
Message-Id: <200601311149.k0VBnL22049601@sigmix.tunix.nl>
Date: Tue, 31 Jan 2006 12:49:21 +0100 (CET)
From: Geert Jan de Groot <rene@tunix.nl>
Reply-To: Rene de Vries <rene@tunix.nl>
To: FreeBSD-gnats-submit@freebsd.org
Cc:
Subject: BUG: IEEE 802.3 compliance of autonegotiation process
X-Send-Pr-Version: 3.113
X-GNATS-Notify:

>Number:         92599
>Category:       kern
>Synopsis:       BUG: IEEE 802.3 compliance of autonegotiation process
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    yongari
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Tue Jan 31 11:50:01 GMT 2006
>Closed-Date:    Sun Feb 03 04:54:24 UTC 2008
>Last-Modified:  Sun Feb 03 04:54:24 UTC 2008
>Originator:     Geert Jan de Groot
>Release:        FreeBSD 6.0 i386
>Organization:
Tunix Internet Security & Training
>Environment:
System: FreeBSD sigmix.tunix.nl 6.0 FreeBSD 6.0-RELEASE #0: Tue Jan 10 15:53:21 CET 2006 root@sigmix.tunix.nl:/usr/obj/usr/src/sys/SIGMIX i386

>Description:
	This patch fixes 3 problems:

	A. dcphy inadvertently accepts 100BASE-T4 technology
	When a link partner announces 100BASE-T4 capability,
	dcphy will accept and choose this technology, even though
	it is not supported and we don't announce it ourselves.
	dcphy should mask the link partner's announcement
	with our own capabilities, so we only accept the highest
	technology we commonly share.

	This bug is triggered when connecting SYM-based 21143 boards
	to a Cisco 3550 switch, which inadvertently announces 100BASE-T4
	capability even though it doesn't do 100BASE-T4.
	Symptom is dat the 21143 eventually switches to 100BASE-TX
	while the 3550 switch switches to 100BASE-TX,FDX, or the link
	may not come up at all.

	Files affected: 
	dev/mii/dcphy.c


	B. Autonegotiation selection order is wrong
	Autonegotiation selection is based on selecting
	the highest common technology both link partners will accept.
	For this to work, IEEE 802.3 defines a priority order
	in which the technologies are selected.
	As of IEEE 802.3-2002, annex 28B.3, the list is, from high to low:
		1000BASE-T full-duplex
		1000BASE-T 
		100BASE-T2 full-duplex
		100BASE-TX full-duplex
		100BASE-T2 
		100BASE-T4 
		100BASE-TX 
		10BASE-T full-duplex
		10BASE-T 

	However, the PHY code that reads the link partner capability
	registers and decides on the highest common technology,
	didn't use this order: the priority of 100BASE-T4 was too high
	(which helped to trigger bug A above).

	While I think that it is unlikely that we will encounter
	100BASE-T4 technology in the field in the future, 
	having a wrong order may lead to more bugs and incompatibilities
	so the testing order was changed to match the IEEE spec.

	Files affected:
	dev/mii/amphy.c
	dev/mii/dcphy.c
	dev/mii/nsphy.c
	dev/mii/rlphy.c
	dev/mii/tdkphy.c
	dev/mii/ukphy_subr.c
	dev/txp/if_txp.c


	C. if_txp: mask link partner's capability mask against
	   own capabilities
	From code inspection, it looks like we don't mask 
	the capabilities of the link partner against our own,
	which means that a technology may be selected that we
	don't support.

	The fix is roughly similar to B. above, but I didn't have
	a 3C990 to test with and hence this patch is untested.

	Files affected:
	dev/txp/if_txp.c


Author: Geert Jan de Groot

>How-To-Repeat:
	See description

>Fix:

Diff against FreeBSD 6.0:

Index: dev/mii/amphy.c
===================================================================
RCS file: /usr/local/cvs/cvsroot/fw/os/freebsd/sys/dev/mii/amphy.c,v
retrieving revision 1.1.1.6
diff -c -r1.1.1.6 amphy.c
*** dev/mii/amphy.c	9 Dec 2005 08:06:35 -0000	1.1.1.6
--- dev/mii/amphy.c	25 Jan 2006 09:14:04 -0000
***************
*** 264,273 ****
  		if (PHY_READ(sc, MII_ANER) & ANER_LPAN) {
  			anlpar = PHY_READ(sc, MII_ANAR) &
  			    PHY_READ(sc, MII_ANLPAR);
! 			if (anlpar & ANLPAR_T4)
! 				mii->mii_media_active |= IFM_100_T4;
! 			else if (anlpar & ANLPAR_TX_FD)
  				mii->mii_media_active |= IFM_100_TX|IFM_FDX;
  			else if (anlpar & ANLPAR_TX)
  				mii->mii_media_active |= IFM_100_TX;
  			else if (anlpar & ANLPAR_10_FD)
--- 264,277 ----
  		if (PHY_READ(sc, MII_ANER) & ANER_LPAN) {
  			anlpar = PHY_READ(sc, MII_ANAR) &
  			    PHY_READ(sc, MII_ANLPAR);
! 			/*
! 			 * the order of these tests is dictated by
! 			 * IEEE 802.3-2002 annex 28B, chapter 28B.3
! 			 */
! 			if (anlpar & ANLPAR_TX_FD)
  				mii->mii_media_active |= IFM_100_TX|IFM_FDX;
+ 			else if (anlpar & ANLPAR_T4)
+ 				mii->mii_media_active |= IFM_100_T4;
  			else if (anlpar & ANLPAR_TX)
  				mii->mii_media_active |= IFM_100_TX;
  			else if (anlpar & ANLPAR_10_FD)
Index: dev/mii/dcphy.c
===================================================================
RCS file: /usr/local/cvs/cvsroot/fw/os/freebsd/sys/dev/mii/dcphy.c,v
retrieving revision 1.1.1.5
diff -c -r1.1.1.5 dcphy.c
*** dev/mii/dcphy.c	9 Dec 2005 08:06:35 -0000	1.1.1.5
--- dev/mii/dcphy.c	25 Jan 2006 09:14:04 -0000
***************
*** 369,380 ****
  
  		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 &&
  			    sc->mii_capabilities & BMSR_100TXFDX)
  				mii->mii_media_active |= IFM_100_TX|IFM_FDX;
  			else if (anlpar & ANLPAR_TX &&
  			    sc->mii_capabilities & BMSR_100TXHDX)
  				mii->mii_media_active |= IFM_100_TX;
--- 369,384 ----
  
  		if (tstat & DC_TSTAT_LP_CAN_NWAY) {
  			anlpar = tstat >> 16;
! 			/* 
! 			 * the order of these tests is dictated by
! 			 * IEEE 802.3-2002 annex 28B, chapter 28B.3
! 			 */
! 			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;
Index: dev/mii/nsphy.c
===================================================================
RCS file: /usr/local/cvs/cvsroot/fw/os/freebsd/sys/dev/mii/nsphy.c,v
retrieving revision 1.1.1.5
diff -c -r1.1.1.5 nsphy.c
*** dev/mii/nsphy.c	9 Dec 2005 08:06:35 -0000	1.1.1.5
--- dev/mii/nsphy.c	25 Jan 2006 09:14:04 -0000
***************
*** 354,363 ****
  		if (PHY_READ(sc, MII_ANER) & ANER_LPAN) {
  			anlpar = PHY_READ(sc, MII_ANAR) &
  			    PHY_READ(sc, MII_ANLPAR);
! 			if (anlpar & ANLPAR_T4)
! 				mii->mii_media_active |= IFM_100_T4;
! 			else if (anlpar & ANLPAR_TX_FD)
  				mii->mii_media_active |= IFM_100_TX|IFM_FDX;
  			else if (anlpar & ANLPAR_TX)
  				mii->mii_media_active |= IFM_100_TX;
  			else if (anlpar & ANLPAR_10_FD)
--- 354,367 ----
  		if (PHY_READ(sc, MII_ANER) & ANER_LPAN) {
  			anlpar = PHY_READ(sc, MII_ANAR) &
  			    PHY_READ(sc, MII_ANLPAR);
! 			/*
! 			 * the order of these tests is dictated by
! 			 * IEEE 802.3-2002 annex 28B, chapter 28B.3
! 			 */
! 			if (anlpar & ANLPAR_TX_FD)
  				mii->mii_media_active |= IFM_100_TX|IFM_FDX;
+ 			else if (anlpar & ANLPAR_T4)
+ 				mii->mii_media_active |= IFM_100_T4;
  			else if (anlpar & ANLPAR_TX)
  				mii->mii_media_active |= IFM_100_TX;
  			else if (anlpar & ANLPAR_10_FD)
Index: dev/mii/rlphy.c
===================================================================
RCS file: /usr/local/cvs/cvsroot/fw/os/freebsd/sys/dev/mii/rlphy.c,v
retrieving revision 1.1.1.6
diff -c -r1.1.1.6 rlphy.c
*** dev/mii/rlphy.c	9 Dec 2005 08:06:35 -0000	1.1.1.6
--- dev/mii/rlphy.c	25 Jan 2006 09:14:04 -0000
***************
*** 289,298 ****
  
  		if ((anlpar = PHY_READ(phy, MII_ANAR) &
  		    PHY_READ(phy, MII_ANLPAR))) {
! 			if (anlpar & ANLPAR_T4)
! 				mii->mii_media_active |= IFM_100_T4;
! 			else if (anlpar & ANLPAR_TX_FD)
  				mii->mii_media_active |= IFM_100_TX|IFM_FDX;
  			else if (anlpar & ANLPAR_TX)
  				mii->mii_media_active |= IFM_100_TX;
  			else if (anlpar & ANLPAR_10_FD)
--- 289,302 ----
  
  		if ((anlpar = PHY_READ(phy, MII_ANAR) &
  		    PHY_READ(phy, MII_ANLPAR))) {
! 			/*
! 			 * the order of these tests is dictated by
! 			 * IEEE 802.3-2002 annex 28B, chapter 28B.3
! 			 */
! 			if (anlpar & ANLPAR_TX_FD)
  				mii->mii_media_active |= IFM_100_TX|IFM_FDX;
+ 			else if (anlpar & ANLPAR_T4)
+ 				mii->mii_media_active |= IFM_100_T4;
  			else if (anlpar & ANLPAR_TX)
  				mii->mii_media_active |= IFM_100_TX;
  			else if (anlpar & ANLPAR_10_FD)
Index: dev/mii/tdkphy.c
===================================================================
RCS file: /usr/local/cvs/cvsroot/fw/os/freebsd/sys/dev/mii/tdkphy.c,v
retrieving revision 1.1.1.2
diff -c -r1.1.1.2 tdkphy.c
*** dev/mii/tdkphy.c	9 Dec 2005 08:06:35 -0000	1.1.1.2
--- dev/mii/tdkphy.c	25 Jan 2006 09:14:04 -0000
***************
*** 277,286 ****
  		 * ANLPAR doesn't get set on my card, but we check it anyway,
  		 * since it is mentioned in the 78Q2120 specs.
  		 */
! 		if (anlpar & ANLPAR_T4)
! 			mii->mii_media_active |= IFM_100_T4;
! 		else if (anlpar & ANLPAR_TX_FD)
  			mii->mii_media_active |= IFM_100_TX|IFM_FDX;
  		else if (anlpar & ANLPAR_TX)
  			mii->mii_media_active |= IFM_100_TX;
  		else if (anlpar & ANLPAR_10_FD)
--- 277,290 ----
  		 * ANLPAR doesn't get set on my card, but we check it anyway,
  		 * since it is mentioned in the 78Q2120 specs.
  		 */
! 		/*
! 		 * the order of these tests is dictated by
! 		 * IEEE 802.3-2002 annex 28B, chapter 28B.3
! 		 */
! 		if (anlpar & ANLPAR_TX_FD)
  			mii->mii_media_active |= IFM_100_TX|IFM_FDX;
+ 		else if (anlpar & ANLPAR_T4)
+ 			mii->mii_media_active |= IFM_100_T4;
  		else if (anlpar & ANLPAR_TX)
  			mii->mii_media_active |= IFM_100_TX;
  		else if (anlpar & ANLPAR_10_FD)
Index: dev/mii/ukphy_subr.c
===================================================================
RCS file: /usr/local/cvs/cvsroot/fw/os/freebsd/sys/dev/mii/ukphy_subr.c,v
retrieving revision 1.1.1.5
diff -c -r1.1.1.5 ukphy_subr.c
*** dev/mii/ukphy_subr.c	20 Jul 2005 11:57:40 -0000	1.1.1.5
--- dev/mii/ukphy_subr.c	25 Jan 2006 09:14:04 -0000
***************
*** 99,108 ****
  		}
  
  		anlpar = PHY_READ(phy, MII_ANAR) & PHY_READ(phy, MII_ANLPAR);
! 		if (anlpar & ANLPAR_T4)
! 			mii->mii_media_active |= IFM_100_T4;
! 		else if (anlpar & ANLPAR_TX_FD)
  			mii->mii_media_active |= IFM_100_TX|IFM_FDX;
  		else if (anlpar & ANLPAR_TX)
  			mii->mii_media_active |= IFM_100_TX;
  		else if (anlpar & ANLPAR_10_FD)
--- 99,112 ----
  		}
  
  		anlpar = PHY_READ(phy, MII_ANAR) & PHY_READ(phy, MII_ANLPAR);
! 		/*
! 		 * the order of these tests is dictated by
! 		 * IEEE 802.3-2002 annex 28B, chapter 28B.3
! 		 */
! 		if (anlpar & ANLPAR_TX_FD)
  			mii->mii_media_active |= IFM_100_TX|IFM_FDX;
+ 		else if (anlpar & ANLPAR_T4)
+ 			mii->mii_media_active |= IFM_100_T4;
  		else if (anlpar & ANLPAR_TX)
  			mii->mii_media_active |= IFM_100_TX;
  		else if (anlpar & ANLPAR_10_FD)
Index: dev/txp/if_txp.c
===================================================================
RCS file: /usr/local/cvs/cvsroot/fw/os/freebsd/sys/dev/txp/if_txp.c,v
retrieving revision 1.1.1.6
diff -c -r1.1.1.6 if_txp.c
*** dev/txp/if_txp.c	9 Dec 2005 08:06:36 -0000	1.1.1.6
--- dev/txp/if_txp.c	25 Jan 2006 09:14:05 -0000
***************
*** 1644,1650 ****
  {
  	struct txp_softc *sc = ifp->if_softc;
  	struct ifmedia *ifm = &sc->sc_ifmedia;
! 	u_int16_t bmsr, bmcr, anlpar;
  
  	ifmr->ifm_status = IFM_AVALID;
  	ifmr->ifm_active = IFM_ETHER;
--- 1644,1650 ----
  {
  	struct txp_softc *sc = ifp->if_softc;
  	struct ifmedia *ifm = &sc->sc_ifmedia;
! 	u_int16_t bmsr, bmcr, anar, anlpar;
  
  	ifmr->ifm_status = IFM_AVALID;
  	ifmr->ifm_active = IFM_ETHER;
***************
*** 1664,1669 ****
--- 1664,1674 ----
  	    &anlpar, NULL, NULL, 1))
  		goto bail;
  
+ 	if (txp_command(sc, TXP_CMD_PHY_MGMT_READ, 0, MII_ANAR, 0,
+ 	    &anar, NULL, NULL, 1))
+ 		goto bail;
+ 	anlpar &= anar;
+ 
  	if (bmsr & BMSR_LINK)
  		ifmr->ifm_status |= IFM_ACTIVE;
  
***************
*** 1681,1691 ****
  			ifmr->ifm_active |= IFM_NONE;
  			return;
  		}
! 
! 		if (anlpar & ANLPAR_T4)
! 			ifmr->ifm_active |= IFM_100_T4;
! 		else if (anlpar & ANLPAR_TX_FD)
  			ifmr->ifm_active |= IFM_100_TX|IFM_FDX;
  		else if (anlpar & ANLPAR_TX)
  			ifmr->ifm_active |= IFM_100_TX;
  		else if (anlpar & ANLPAR_10_FD)
--- 1686,1699 ----
  			ifmr->ifm_active |= IFM_NONE;
  			return;
  		}
! 		/*
! 		 * the order of these tests is dictated by
! 		 * IEEE 802.3-2002 annex 28B, chapter 28B.3
! 		 */
! 		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)
>Release-Note:
>Audit-Trail:
Responsible-Changed-From-To: freebsd-bugs->yongari 
Responsible-Changed-By: kmacy 
Responsible-Changed-When: Fri Nov 16 02:01:31 UTC 2007 
Responsible-Changed-Why:  

Please assign to appropriate person to import patches, or close. Thanks. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=92599 

From: dfilter@FreeBSD.ORG (dfilter service)
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: kern/92599: commit references a PR
Date: Fri, 16 Nov 2007 10:25:44 +0000 (UTC)

 yongari     2007-11-16 10:25:36 UTC
 
   FreeBSD src repository
 
   Modified files:
     sys/dev/mii          amphy.c nsphy.c rlphy.c tdkphy.c 
                          ukphy_subr.c 
     sys/dev/dc           dcphy.c 
     sys/dev/txp          if_txp.c 
   Log:
   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
   
   Revision  Changes    Path
   1.33      +4 -4      src/sys/dev/dc/dcphy.c
   1.23      +3 -3      src/sys/dev/mii/amphy.c
   1.29      +3 -3      src/sys/dev/mii/nsphy.c
   1.32      +3 -3      src/sys/dev/mii/rlphy.c
   1.23      +3 -3      src/sys/dev/mii/tdkphy.c
   1.10      +2 -2      src/sys/dev/mii/ukphy_subr.c
   1.47      +3 -3      src/sys/dev/txp/if_txp.c
 _______________________________________________
 cvs-all@freebsd.org mailing list
 http://lists.freebsd.org/mailman/listinfo/cvs-all
 To unsubscribe, send any mail to "cvs-all-unsubscribe@freebsd.org"
 

From: dfilter@FreeBSD.ORG (dfilter service)
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: kern/92599: commit references a PR
Date: Fri, 16 Nov 2007 10:32:18 +0000 (UTC)

 yongari     2007-11-16 10:32:10 UTC
 
   FreeBSD src repository
 
   Modified files:
     sys/dev/txp          if_txp.c 
   Log:
   Read MII_ANAR register and get common denominator ability.
   
   PR:     92599
   
   Revision  Changes    Path
   1.48      +6 -1      src/sys/dev/txp/if_txp.c
 _______________________________________________
 cvs-all@freebsd.org mailing list
 http://lists.freebsd.org/mailman/listinfo/cvs-all
 To unsubscribe, send any mail to "cvs-all-unsubscribe@freebsd.org"
 
State-Changed-From-To: open->patched 
State-Changed-By: yongari 
State-Changed-When: Fri Nov 16 10:41:27 UTC 2007 
State-Changed-Why:  
Patch committed to HEAD. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=92599 

From: dfilter@FreeBSD.ORG (dfilter service)
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: kern/92599: commit references a PR
Date: Sun,  3 Feb 2008 04:12:12 +0000 (UTC)

 yongari     2008-02-03 04:12:06 UTC
 
   FreeBSD src repository
 
   Modified files:        (Branch: RELENG_7)
     sys/dev/dc           dcphy.c 
     sys/dev/mii          amphy.c nsphy.c rlphy.c tdkphy.c 
                          ukphy_subr.c 
     sys/dev/txp          if_txp.c 
   Log:
   MFC fix for IEEE 802.3 compliance of auto-negotiation process.
     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
   
   Revision  Changes    Path
   1.32.2.1  +4 -4      src/sys/dev/dc/dcphy.c
   1.22.2.1  +3 -3      src/sys/dev/mii/amphy.c
   1.28.2.1  +3 -3      src/sys/dev/mii/nsphy.c
   1.31.2.1  +3 -3      src/sys/dev/mii/rlphy.c
   1.22.2.1  +3 -3      src/sys/dev/mii/tdkphy.c
   1.9.2.1   +2 -2      src/sys/dev/mii/ukphy_subr.c
   1.46.2.1  +3 -3      src/sys/dev/txp/if_txp.c
 _______________________________________________
 cvs-all@freebsd.org mailing list
 http://lists.freebsd.org/mailman/listinfo/cvs-all
 To unsubscribe, send any mail to "cvs-all-unsubscribe@freebsd.org"
 

From: dfilter@FreeBSD.ORG (dfilter service)
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: kern/92599: commit references a PR
Date: Sun,  3 Feb 2008 04:16:35 +0000 (UTC)

 yongari     2008-02-03 04:16:26 UTC
 
   FreeBSD src repository
 
   Modified files:        (Branch: RELENG_7)
     sys/dev/txp          if_txp.c 
   Log:
   MFC if_txp.c, rev 1.48 to RELENG_7.
     Read MII_ANAR register and get common denominator ability.
   
     PR:   92599
   
   Revision  Changes    Path
   1.46.2.2  +6 -1      src/sys/dev/txp/if_txp.c
 _______________________________________________
 cvs-all@freebsd.org mailing list
 http://lists.freebsd.org/mailman/listinfo/cvs-all
 To unsubscribe, send any mail to "cvs-all-unsubscribe@freebsd.org"
 
State-Changed-From-To: patched->closed 
State-Changed-By: yongari 
State-Changed-When: Sun Feb 3 04:53:52 UTC 2008 
State-Changed-Why:  
MFC done. Thanks for reporting! 

http://www.freebsd.org/cgi/query-pr.cgi?pr=92599 
>Unformatted:
