Subject: kern/33651: bge doesn't work after reboot from windows until it is PXE booted
To: None <kern-bug-people@netbsd.org, gnats-admin@netbsd.org,>
From: None <ctribo@dtcc.edu>
List: netbsd-bugs
Date: 06/05/2006 21:30:00
>Number:         33651
>Category:       kern
>Synopsis:       bge doesn't work after reboot from windows until it is PXE booted
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Mon Jun 05 21:30:00 +0000 2006
>Originator:     Chris Tribo
>Release:        3.99.20
>Organization:
>Environment:
NetBSD 3.99.20 (GENERIC.MPACPI) #4: Sun Jun 4 22:20:57 EDT 2006
root:/usr/obj/sys/arch/i386/compile/GENERIC.MPACPI i386
>Description:
bge0 at pci2 dev 0 function 0: Broadcom BCM5751 Gigabit Ethernet
bge0: interrupting at ioapic0 pin 16 (irq 11)
bge0: pcie mode=0x105000
bge0: ASIC BCM5750 A1 (0x4001), Ethernet address 00:11:43:xx:xx:xx
bge0: setting short Tx thresholds
brgphy0 at bge0 phy 1: BCM5750 10000BASE-T media interface, rev. 0
brgphy0: 10baseT, 10baseT-FDX, 100baseTx, 100baseTX-FDX, 1000baseT, 1000baseT-FDX, auto


until I pxeboot, every time I try to send a packet I get an endless stream of:

bge0: watchdog timeout -- resetting
bge0: block failed to stop: reg 0x1400, bit 0x00000002
bge0: pcie mode=0x105000
bge0: watchdog timeout -- resetting
bge0: block failed to stop: reg 0x1400, bit 0x00000002
bge0: pcie mode=0x105000
bge0: watchdog timeout -- resetting
bge0: block failed to stop: reg 0x1400, bit 0x00000002
bge0: pcie mode=0x105000
...
>How-To-Repeat:
reboot from windows into NetBSD and try to use the NIC
>Fix:
Something is likely wrong with interrupt establishment or PCI Express code as there is no entry for ioapic pin 16 (irq 11) in vmstat -i when it isn't working, yet there are almost 500 softnet interrupts.

The chip passes Broadcom's NIC diagnostics, and has worked flawlessly in windows for over a year. Memtest86+ tested system memory for days with no errors.