Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 30 Dec 2002 15:09:35 +0100 (CET)
From:      Joerg Wallerich <jw@net.in.tum.de>
To:        FreeBSD-gnats-submit@FreeBSD.org
Subject:   kern/46647: Failure to initialize MII on 3Com NIC results in panic
Message-ID:  <200212301409.gBUE9ZxK003948@sulaco.ppp.uni-sb.de>

next in thread | raw e-mail | index | archive | help

>Number:         46647
>Category:       kern
>Synopsis:       Failure to initialize MII on 3Com NIC results in panic
>Confidential:   no
>Severity:       serious
>Priority:       low
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Tue Dec 31 02:20:01 PST 2002
>Closed-Date:
>Last-Modified:
>Originator:     Joerg Wallerich <jw@net.in.tum.de>
>Release:        FreeBSD 5.0-RC i386
>Organization:
/
>Environment:
System: FreeBSD sulaco.ppp.uni-sb.de 5.0-RC FreeBSD 5.0-RC #1: Sun Dec 29 17:35:10 CET 2002 root@sulaco.ppp.uni-sb.de:/usr/src/sys/i386/compile/SULACO i386
Hardware: Asus P5A, AMD K6-III, 3Com 3cSOHO100-TX OfficeConnect NIC
>Description:
	System fails to initialize NIC Phys (xlphy0) and doesn't find
        any supported media types. Any attempt to configure the
        interface results in a kernel panic.

        dmesg output:
xl0: <3Com 3cSOHO100-TX OfficeConnect> port 0xb000-0xb07f mem 0xd5000000-0xd500007f irq 10 at device 11.0 on pci0
xl0: Ethernet address: 00:04:76:8c:fb:40
miibus0: <MII bus> on xl0
xlphy0: <3Com internal media interface> on miibus0
xlphy0:  

This appears since revision 1.107 of if_xl.c

>How-To-Repeat:
	Boot, configure interface using 'ifconfig up'

>Fix:

	As workaround I added some of the DELAY(1) lines removed
        from 1.106 back to 1.111 of if_xl.c (see patch). This
        seems to fix the problem.

--- if_xl.c.orig        Sun Dec 29 17:40:43 2002
+++ if_xl.c     Sun Dec 29 17:47:08 2002
@@ -370,7 +370,9 @@
 
        for (i = 0; i < 32; i++) {
                MII_SET(XL_MII_CLK);
+               DELAY(1);
                MII_CLR(XL_MII_CLK);
+               DELAY(1);
        }
 
        return;
@@ -396,7 +398,9 @@
                 } else {
                        MII_CLR(XL_MII_DATA);
                 }
+               DELAY(1);
                MII_CLR(XL_MII_CLK);
+               DELAY(1);
                MII_SET(XL_MII_CLK);
        }
 }



>Release-Note:
>Audit-Trail:
>Unformatted:

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message




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