please test: miibus GE ony PHY detection
Bjoern A. Zeeb
bzeeb-lists at lists.zabbadoz.net
Tue Nov 23 01:45:09 PST 2004
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
More information about the freebsd-net
mailing list