lkml.org 
[lkml]   [2003]   [Aug]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
Subject[PROBLEM] xircom CBE2-100(faulty) hangs kernel 2.4.{21, 22-pre8}

Hi,

I have a xircom CBE2-100 ethernet card that I know(as a matter of fact) is
faulty. The warranty on the card expired and couldn't take it back to
the manufacturer. Anyway, I hotplugged it into the sock with no problem at
all. However, when I try to bring up the interface, the kernel hangs. If I
unplug the card, the kernel comes back to life and resumes.

I broke to kdb(attached as kdb.txt) and noticed that the kernel was alive
but overwhelmed by the unacked interrupts(11) from the card. Here's what
it looks like on the /proc interface:

root@darkstar:/home/labo# cat /proc/interrupts; ifconfig eth1 up; cat
/proc/interrupts

CPU0
0: 93211 XT-PIC timer
1: 3905 XT-PIC keyboard
2: 0 XT-PIC cascade
5: 0 XT-PIC Maestro3(i)
9: 7212 XT-PIC orinoco_cs
11: 142006 XT-PIC Texas Instruments PCI1225, Texas
Instruments PCI1225 (#2), usb-uhci
12: 3426 XT-PIC PS/2 Mouse
14: 3016 XT-PIC ide0
15: 5 XT-PIC ide1
NMI: 0
ERR: 0

CPU0
0: 93692 XT-PIC timer
1: 3906 XT-PIC keyboard
2: 0 XT-PIC cascade
5: 0 XT-PIC Maestro3(i)
9: 7213 XT-PIC orinoco_cs
11: 203826 XT-PIC Texas Instruments PCI1225, Texas
Instruments PCI1225 (#2), usb-uhci, eth1
12: 3426 XT-PIC PS/2 Mouse
14: 3016 XT-PIC ide0
15: 5 XT-PIC ide1
NMI: 0
ERR: 0


The symptoms of the problem show at
drivers/net/pcmcia/xircom_tulip_cb: xircom_interrupt() where the interrupt
is never acknowledge(due to flawed hardware).

I have attached the kernel logs(as dmesg.txt) pertaining to this
operation along with lspci, ver_linux, etc(hw.txt) .

Shouldn't the driver graciously filter/diagnose this anomaly before it
gets out of hands?

thank you for your time,

Youssef Hmamouche


Stack traceback for pid 220
0xc459e000 220 207 1 0 R 0xc459e270 *ifconfig
EBP EIP Function (args)
0xc459fd98 0xc0265a31 xircom_interrupt+0x3c5 (0xb, 0xc45a6000, 0xc459fde4, 0x160, 0xb)
kernel .text 0xc0100000 0xc026566c 0xc0265a9c
0xc459fdb8 0x010803c handle_IRQ_event+0x30 (0xb, 0xc459fde4, 0xc7f1671c, 0xc04f1a40, 0x1)
kernel .text 0xc0100000 0xc010800c 0xc0108068
0xc459fddc 0xc01081de do_IRQ+0x96 (0xc04f1a40, 0xb, 0x47, 0x1, 0xfffffffe)
kernel .text 0x0100000 0xc0108148 0xc0108220
0xc459fe28 0xc0310940 call_do_IRQ+0x5 (0xc45a6000, 0xc45a6000, 0x1002)
kernel .rodata 0xc030f200 0xc031093b 0xc0310948

0xc029e3d1 dev_open+0x51 (0xc45a6000, 0xc45a6000, 0x8914, 0xc459ff34)
kernel .text 0xc0100000 0xc029e380 0xc029e42c
0xc459fedc 0xc029f418 dev_change_flags+0x50 (0xc45a6000, 0x1043, 0xbffff8f4, 0x8914, 0x0)
kernel .text 0xc0100000 0xc029f3c8 0xc029f4d0
0xc459fef8 0xc029f547 dev_ifsioc+0x77 (0xc459ff34, 0x8914, 0xc459ff34, 0x0, 0xffffffe7)
kernek .text 0xc0100000 0xc029f4d0 0xc029f828
0xc459ff54 0xc029fa77 dev_ioctl+0x24f (0x8914, 0xbffff8f4, 0x8914, 0xffffffe7, 0xbffff8f4)
kernel .text 0xc0100000 0xc029f828 0xc029fbe4
0xc459ff78 0xc02d79db ipx_ioctl+0x237 (0xc45f3c74, 0x8914, 0xbffff8f4, 0xc4c11954)
kernel .text 0xc0100000 0xc02d77a4 0xc02d79e8
0xc459ff90 0xc02988ed sock_ioctl+0x21 (0xc45f3b54, 0xc4c11954, 0x8914, 0xbffff8f4, 0xc459e000)
0xc459ffbc 0xc013dd40 sys_ioctl+0x170 (0xbffff914, 0xc0106ce3, 0x5, 0x8914, 0xbffff8f4)
kernel .text 0xc0100000 0xc013dbd0 0xc013dd58
0xc0106dcc error_code+0x34
kernel .texst 0xc0100000 0xc0106d98 0xc0106dd4
Interrupt registers:
eax = 0x00000041 ebx = 0xbffff914 ecx = 0xc0106ce3 edx = 0x00000005
esi = 0x00008914 edi = 0xbffff8f4 esp = 0x00000023 eip = 0x0000002b
ebp = 0xbffff958 xss = 0x00000202 xcs - 0x00000036 efalgs = 0x400c01b4
xds = 0xbffff914 xes = 0x00000036 origeax = 0xbfff002b &regs = 0xc459ffbc

cs: cb_alloc(bus 2): vendor 0x115d, device 0x0003
PCI: Enabling device 02:00.0 (0000 -> 0003)
xircom_tulip_cb.c derived from tulip.c:v0.91 4/14/99 becker@scyld.com
unofficial 2.4.x kernel port, version 0.91+LK1.1, October 11, 2001
PCI: Setting latency timer of device 02:00.0 to 64
eth1: Xircom Cardbus Adapter rev 3 at 0x4000, 00:10:A4:D2:A3:11, IRQ 11.
eth1: MII transceiver #0 config 3100 status 7809 advertising 01e1.
xircom_tulip_cb: outl_CSR6 too many attempts,csr5=0x60100000
xircom_tulip_cb: outl_CSR6 too many attempts,csr5=0x60100000
xircom_remove_one(eth1)
cs: cb_free(bus 2)
cs: cb_alloc(bus 2): vendor 0x115d, device 0x0003
PCI: Enabling device 02:00.0 (0000 -> 0003)
PCI: Setting latency timer of device 02:00.0 to 64
eth1: Xircom Cardbus Adapter rev 3 at 0x4000, 00:10:A4:D2:A3:11, IRQ 11.
eth1: MII transceiver #0 config 3100 status 7809 advertising 01e1.
xircom_tulip_cb: outl_CSR6 too many attempts,csr5=0x60100000
xircom_tulip_cb: outl_CSR6 too many attempts,csr5=0x60100000
xircom_remove_one(eth1)
cs: cb_free(bus 2)
root@darkstar:/home/labo# lspci -vvv
00:00.0 Host bridge: Intel Corporation 440BX/ZX - 82443BX/ZX Host bridge (rev 03)
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort+ >SERR- <PERR-
Latency: 32
Region 0: Memory at f4000000 (32-bit, prefetchable) [size=64M]
Capabilities: [a0] AGP version 1.0
Status: RQ=31 SBA+ 64bit- FW- Rate=x1,x2
Command: RQ=0 SBA+ AGP- 64bit- FW- Rate=x2
00:01.0 PCI bridge: Intel Corporation 440BX/ZX - 82443BX/ZX AGP bridge (rev 03) (prog-if 00 [Normal decode])
Control: I/O+ Mem+ BusMaster+ SpecCycle+ MemWINV+ VGASnoop- ParErr- Stepping- SERR+ FastB2B-
Status: Cap- 66Mhz+ UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 32
Bus: primary=00, secondary=01, subordinate=01, sec-latency=32
I/O behind bridge: 0000e000-0000efff
Memory behind bridge: fc000000-feffffff
Prefetchable memory behind bridge: fff00000-000fffff
BridgeCtl: Parity- SERR- NoISA+ VGA+ MAbort- >Reset- FastB2B+
00:03.0 CardBus bridge: Texas Instruments PCI1225 (rev 01)
Subsystem: Dell Computer Corporation: Unknown device 00bc
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 168, cache line size 08
Interrupt: pin A routed to IRQ 11
Region 0: Memory at 10000000 (32-bit, non-prefetchable) [size=4K]
Bus: primary=00, secondary=02, subordinate=05, sec-latency=176
Memory window 0: 10400000-107ff000 (prefetchable)
Memory window 1: 10800000-10bff000
I/O window 0: 00004000-000040ff
I/O window 1: 00004400-000044ff
BridgeCtl: Parity- SERR- ISA- VGA- MAbort- >Reset+ 16bInt+ PostWrite+
16-bit legacy interface ports at 0001
00:03.1 CardBus bridge: Texas Instruments PCI1225 (rev 01)
Subsystem: Dell Computer Corporation: Unknown device 00bc
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 168, cache line size 08
Interrupt: pin A routed to IRQ 11
Region 0: Memory at 10001000 (32-bit, non-prefetchable) [size=4K]
Bus: primary=00, secondary=06, subordinate=09, sec-latency=176
Memory window 0: 10c00000-10fff000 (prefetchable)
Memory window 1: 11000000-113ff000
I/O window 0: 00004800-000048ff
I/O window 1: 00004c00-00004cff
BridgeCtl: Parity- SERR- ISA- VGA- MAbort- >Reset+ 16bInt+ PostWrite+
16-bit legacy interface ports at 0001
00:07.0 Bridge: Intel Corporation 82371AB PIIX4 ISA (rev 02)
Control: I/O+ Mem+ BusMaster+ SpecCycle+ MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B-
Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 0

00:07.1 IDE interface: Intel Corporation 82371AB PIIX4 IDE (rev 01) (prog-if 80 [Master])
Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 32
Region 4: I/O ports at 0860 [size=16]

00:07.2 USB Controller: Intel Corporation 82371AB PIIX4 USB (rev 01) (prog-if 00 [UHCI])
Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 32
Interrupt: pin D routed to IRQ 11
Region 4: I/O ports at dce0 [size=32]

00:07.3 Bridge: Intel Corporation 82371AB PIIX4 ACPI (rev 03)
Control: I/O+ Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Interrupt: pin ? routed to IRQ 9

00:08.0 Multimedia audio controller: ESS Technology ES1983S Maestro-3i PCI Audio Accelerator (rev 10)
Subsystem: Dell Computer Corporation: Unknown device 00bb
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 32 (500ns min, 6000ns max)
Interrupt: pin A routed to IRQ 5
Region 0: I/O ports at d800 [size=256]
Region 1: Memory at faffe000 (32-bit, non-prefetchable) [size=8K]
Capabilities: [c0] Power Management version 2
Flags: PMEClk- DSI+ D1+ D2+ AuxCurrent=0mA PME(D0-,D1+,D2+,D3hot+,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-

00:08.1 Communication controller: ESS Technology ES1983S Maestro-3i PCI Modem Accelerator (rev 10)
Subsystem: Dell Computer Corporation: Unknown device 00bb
Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 0
Interrupt: pin A routed to IRQ 5
Region 0: I/O ports at d400 [size=256]
Capabilities: [c0] Power Management version 2
Flags: PMEClk- DSI+ D1+ D2+ AuxCurrent=100mA PME(D0-,D1+,D2+,D3hot+,D3cold+)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-

01:00.0 VGA compatible controller: ATI Technologies Inc 3D Rage P/M Mobility AGP 2x (rev 64) (prog-if 00 [VGA])
Subsystem: Dell Computer Corporation: Unknown device 00bc
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping+ SERR- FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 32 (2000ns min), cache line size 08
Interrupt: pin A routed to IRQ 11
Region 0: Memory at fd000000 (32-bit, non-prefetchable) [size=16M]
Region 1: I/O ports at ec00 [size=256]
Region 2: Memory at fcfff000 (32-bit, non-prefetchable) [size=4K]
Expansion ROM at <unassigned> [disabled] [size=128K]
Capabilities: [50] AGP version 1.0
Status: RQ=255 SBA+ 64bit- FW- Rate=x1,x2
Command: RQ=31 SBA+ AGP+ 64bit- FW- Rate=x2
Capabilities: [5c] Power Management version 1
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
root@darkstar:/home/labo# cat /proc/version
Linux version 2.4.22-pre8 (root@darkstar) (gcc version egcs-2.91.66 19990314/Linux (egcs-1.1.2 release)) #4 Sat Aug 2 14:35:37 /e
tc/localtime 2003

root@darkstar:/usr/src/linux-2.4.21/scripts# sh ver_linux
If some fields are empty or look unusual you may have an old version.
Compare to the current minimal requirements in Documentation/Changes.

Linux darkstar 2.4.22-pre8 #4 Sat Aug 2 14:35:37 /etc/localtime 2003 i686 unknown

Gnu C egcs-2.91.66
Gnu make 3.79
binutils 2.9.1.0.25
util-linux 2.10l
mount 2.10l
modutils 2.4.25
e2fsprogs 1.18
pcmcia-cs 3.2.4
Linux C Library 2.1.3
ldd: version 1.9.9
Procps 2.0.6
Net-tools 1.55
Kbd 0.99
Sh-utils 2.0
Modules Loaded

\
 
 \ /
  Last update: 2005-03-22 13:47    [from the cache]
©2003-2011 Jasper Spaans