Subject: kern/26131: 3c990B fails to attach and crashes kernel at interupt enable time
To: None <gnats-bugs@gnats.netbsd.org>
From: None <ignatios@cs.uni-bonn.de>
List: netbsd-bugs
Date: 07/01/2004 10:44:16
>Number:         26131
>Category:       kern
>Synopsis:       3c990B fails to attach and crashes kernel at interupt enable time
>Confidential:   no
>Severity:       critical
>Priority:       medium
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Thu Jul 01 08:45:00 UTC 2004
>Closed-Date:
>Last-Modified:
>Originator:     
>Release:        NetBSD 2.0_BETA
>Organization:
computer science department, university of Bonn, Germany
>Environment:
	
	
System: NetBSD sinus 2.0_BETA NetBSD 2.0_BETA (GENERIC) #6: Thu Jul 1 10:14:49 CEST 2004 ignatios@sinus:/usr/local/src/cur/oi/sys/arch/i386/compile/GENERIC i386
Architecture: i386
Machine: i386
>Description:
	A 3c990B card is plugged into this machine's PCI bus. 
After adding the txp driver to the configuration, it is detected, but
initialization fails with

txp0 at pci0 dev 9 function 0: 3Com 3c990B 10/100 Ethernet with 3XP
txp0: interrupting at irq 5
: not waiting for boot

The last message is output by the firmware download routine when it 
doesn't detect some bit going active, and ...attach() fails.

However, this happens after pci_intr_establish(), so later at
interupt enable time, the kernel crashes in txp_intr().

>How-To-Repeat:
add:
	txp* at pci? ...

config, make depend, make, make install, reboot

>Fix:
	Fix not known.
	Workarounds:
	don't use that card	or
	don't configure it	or
	disestablish interupt on attach() failure,
	like in sys/dev/pci/if_txp.c 1.7.

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