Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 23 Nov 2004 09:44:05 +0000 (UTC)
From:      "Bjoern A. Zeeb" <bzeeb-lists@lists.zabbadoz.net>
To:        freebsd-net@freebsd.org
Subject:   please test: miibus GE ony PHY detection
Message-ID:  <Pine.BSF.4.53.0411230941150.66570@e0-0.zab2.int.zabbadoz.net>

next in thread | raw e-mail | index | archive | help
Please test:

!
! With the changes from mii.h rev 1.4 to adopt NetBSD checks
!  using BMSR_MEDIAMASK it was missed that in rev 1.26 of mii.c
!  in NetBSD there had been another change:
!
!  : When probing for a PHY, look at the EXTSTAT bit in the BMSR, as well,
!  : not just the media mask.  This prevents PHYs/TBIs that only support
!  : Gigabit media from slipping through the cracks.
!
! With this GE only ones like from the SK-9844 are detected again.
!
Index: mii.c
===================================================================
RCS file: /local/mirror/FreeBSD/r/ncvs/src/sys/dev/mii/mii.c,v
retrieving revision 1.20
diff -u -p -r1.20 mii.c
--- mii.c	15 Aug 2004 06:24:40 -0000	1.20
+++ mii.c	23 Nov 2004 08:46:30 -0000
@@ -125,7 +125,7 @@ miibus_probe(dev)
 	 	 */
 		bmsr = MIIBUS_READREG(parent, ma.mii_phyno, MII_BMSR);
 		if (bmsr == 0 || bmsr == 0xffff ||
-		    (bmsr & BMSR_MEDIAMASK) == 0) {
+		    (bmsr & (BMSR_EXTSTAT|BMSR_MEDIAMASK)) == 0) {
 			/* Assume no PHY at this address. */
 			continue;
 		}
@@ -316,7 +316,7 @@ mii_phy_probe(dev, child, ifmedia_upd, i
 	for (i = 0; i < MII_NPHY; i++) {
 		bmsr = MIIBUS_READREG(dev, i, MII_BMSR);
                 if (bmsr == 0 || bmsr == 0xffff ||
-                    (bmsr & BMSR_MEDIAMASK) == 0) {
+                    (bmsr & (BMSR_EXTSTAT|BMSR_MEDIAMASK)) == 0) {
                         /* Assume no PHY at this address. */
                         continue;
                 } else

-- 
Bjoern A. Zeeb				bzeeb at Zabbadoz dot NeT



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.53.0411230941150.66570>