Subject: Re: patch for if_bge.c
To: None <andreas@planix.com>
From: SAITOH Masanobu <masanobu@iij.ad.jp>
List: current-users
Date: 09/27/2007 09:23:58
 > SAITOH Masanobu wrote:
 > >  I made a patch to fix "block failed to stop" problem and/or
 > > "RX CPU self-diagnostics failed!" problem on bge(4).
 > 
 > Are you aware of
 > http://www.netbsd.org/cgi-bin/query-pr-single.pl?number=36022 ?
 > 
 > >  Please test and report to me especially if it got worse.
 > 
 > makes no difference:
 > 
 > bge0 at pci5 dev 9 function 0: Broadcom BCM5704C Dual Gigabit Ethernet
 > bge0: interrupting at ioapic2 pin 0 (irq 11)
 > bge0: firmware handshake timed out, val = 4b657654
 > bge0: RX CPU self-diagnostics failed!
 > bge0: chip initialization failed
 > bge1 at pci5 dev 9 function 1: Broadcom BCM5704C Dual Gigabit Ethernet
 > bge1: interrupting at ioapic2 pin 1 (irq 12)
 > bge1: firmware handshake timed out, val = 4b657654
 > bge1: RX CPU self-diagnostics failed!
 > bge1: chip initialization failed
 > 
 > ..which are the same messages as I got without the patch.

 I got an BCM5701 PCI-X card in this week.

bge1 at pci4 dev 9 function 0: Broadcom BCM5701 Gigabit Ethernet
bge1: interrupting at ioapic0 pin 21 (irq 6)
bge1: ASIC BCM5701 B5 (0x0105), Ethernet address 00:04:76:39:e2:e0
brgphy1 at bge1 phy 1: BCM5701 1000BASE-T media interface, rev. 0
brgphy1: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-FDX, auto

This card produces following messages (dmesg):

root file system type: ffs
bge1: pcistate failed to revert
bge1: RX CPU self-diagnostics failed!
bge1: RX CPU self-diagnostics failed!
wsdisplay0: screen 1 added (80x25, vt100 emulation)
wsdisplay0: screen 2 added (80x25, vt100 emulation)
wsdisplay0: screen 3 added (80x25, vt100 emulation)
wsdisplay0: screen 4 added (80x25, vt100 emulation)
bge1: watchdog timeout -- resetting
bge1: block failed to stop: reg 0x4800, bit 0x00000002
bge1: block failed to stop: reg 0x3c00, bit 0x00000002
bge1: pcistate failed to revert
bge1: RX CPU self-diagnostics failed!
bge1: watchdog timeout -- resetting
bge1: block failed to stop: reg 0x4800, bit 0x00000002
bge1: block failed to stop: reg 0x4c00, bit 0x00000002
bge1: pcistate failed to revert
bge1: RX CPU self-diagnostics failed!

After that patch, this problem doesn't occur (tested on both -current and
netbsd-4).

----------------------------------------------------------
		SAITOH Masanobu (masanobu@iij.ad.jp
				  msaitoh@netbsd.org)