git: if_bge: Support more chipsets

Michael Neumann mneumann at ntecs.de
Thu Jul 28 08:17:23 PDT 2011


Am 21.07.2011 04:16, schrieb Sepherosa Ziehau:
On Tue, Jul 19, 2011 at 7:10 AM, Michael Neumann
<mneumann at crater.dragonflybsd.org>  wrote:
commit f47afe1ae70c898a48a9235e69d28f2ed521b48e
Author: Michael Neumann<mneumann at ntecs.de>
Date:   Tue Jul 19 01:00:14 2011 +0200
    if_bge: Support more chipsets

    Add (limited) support for 5761, 5784, 57780 chipsets.

    Tested with a Broadcom BCM5723. It works when media is set
Hi Sephe,

Sorry for my later response...

What's the PHY driver attached to bge?  It should be brgphy, if not,
we probably should bring in the related support.
Seems to be ukphy?

> dmesg|grep bge
bge0.pci3.pcib3.pci0.pcib0.acpi0.nexus0.root0
bge0: <Broadcom BCM5723 Gigabit Ethernet> [tentative] mem 
0xfe9f0000-0xfe9fffff irq 18 at device 0.0 on pci3
bge0: Reserved 0x10000 bytes for rid 0x10 type 3 at 0xfe9f0000
bge0: adjust device control 0x2000 -> 0x5000
bge0: CHIP ID 0x05784100; ASIC REV 0x5784; CHIP REV 0x57841; PCI-E
miibus0.bge0.pci3.pcib3.pci0.pcib0.acpi0.nexus0.root0
miibus0: <MII bus> [tentative] on bge0
ukphy0.miibus0.bge0.pci3.pcib3.pci0.pcib0.acpi0.nexus0.root0
miibus0: <MII bus> [attached!] on bge0
bge0: bpf attached
bge0: MAC address: 68:b5:99:72:c9:8c
bge0: <Broadcom BCM5723 Gigabit Ethernet> [attached!] mem 
0xfe9f0000-0xfe9fffff irq 18 at device 0.0 on pci3


    before an IP is being assigned, otherwise it panics. Also panics
    a lot on a SMP system.
Any backtrace or core dump?  If the module is built by running 'make'
under /usr/src/sys/dev/netif/bge, it probably will crash on SMP
kernel, since the SMP is not defined in that way of building.  If
bge_softc's size is changed, you will also have to rebuild mii_layer.
SMP problems do no longer occur. But when I do not assign a media (like 
100baseTX) myself it crashes immediatly when running dhclient:

panic: bogus ife->ifm_data (10)

cpuid = 0
Trace beginning at frame 0xd2a79a00
panic(ffffffff,0,c068d7c1,d2a79a34,d1b3bae0) at panic+0x198
panic(c068d7c1,a,d1b3bae0,d2a79a74,2) at panic+0x198
mii_phy_set_media(cc84d850,c0812c58,c2c37618,d2a79a8c,cc84d850) at 
mii_phy_set_media+0x90
ukphy_service(cc84d850,c298e210,2,cefe9000,c292a868) at ukphy_service+0xdb
mii_mediachg(c298e210,10,0,20,c298e210) at mii_mediachg+0x37
bge_stop(c04636f1,cefe9000,0,0,0) at bge_stop+0x5be
bge_init(cefe9000,8803,cefe91ec,cefe9000,d2a79c08) at bge_init+0x4d
bge_ioctl(cefe9000,80206910,d2a79c08,cc81bae8,c0628df4) at bge_ioctl+0x13b
ifioctl(c2b36800,80206910,d2a79c08,cc81bae8,cc851360) at ifioctl+0x7bd
soo_ioctl(cc851360,80206910,d2a79c08,cc81bae8,d2a79cf0) at soo_ioctl+0x155
fo_ioctl(cc81bae8,d2a79cf0,20,c03a9ce0,c0812c58) at fo_ioctl+0x3c
mapped_ioctl(4,80206910,bfbff7f0,0,d2a79cf0) at mapped_ioctl+0x4b2
sys_ioctl(d2a79cf0,d2a79d00,c,d1b3bae0,d2a79cec) at sys_ioctl+0x2e
syscall2(d2a79d40) at syscall2+0x26f
Xint0x80_syscall() at Xint0x80_syscall+0x36
Debugger("panic")

I uploaded crashdump here 
http://leaf.dragonflybsd.org/~mneumann/bge_crash/ 
<http://leaf.dragonflybsd.org/%7Emneumann/bge_crash/>.

If I set media, it works well and only sometimes crashes, e.g. when I 
reboot the computer.

Regards,

  Michael





More information about the Commits mailing list