[657] in linux-net channel archive
Big problems with 8390 based cards!!
daemon@ATHENA.MIT.EDU (Daniel Hollis)
Thu Jul 13 05:29:20 1995
From: dhollis@hq.jcic.org (Daniel Hollis)
To: linux-net@vger.rutgers.edu
Date: Tue, 11 Jul 1995 23:47:36 -0700 (PDT)
Yet another kernel crash. Completely different network card. (First one
was a Compex 8013 clone, the current one is a Lan Professional 2000JC
NE2000 clone.)
NE*000 ethercard probe at 0x300: 00 00 b4 64 4e f9
eth0: NE2000 found at 0x300, using IRQ 10.
ne.c:v1.10 9/23/94 Donald Becker (becker@cesdis.gsfc.nasa.gov)
Note that it crashed in exactly the same place as the Compex 8013 did,
in _ei_interrupt. But there are two different EIP's within the same routine:
EIP: 0010:0017f2b0
EIP: 0010:0017f1d0
A clue: It seems to occur a lot when the system is under a load (e.g.
compiling a kernel).
invalid operand: 0000
EIP: 0010:0017f2b0
EFLAGS: 00010246
eax: 00000000 ebx: 00000000 ecx: 0000004d edx: 00000307
esi: 00199558 edi: 00000300 ebp: 00009098 esp: 00303ea0
ds: 0018 es: 0018 fs: 002b gs: 002b ss: 0018
Process cc1 (pid: 10228, process nr: 55, stackpage=00303000)
Stack: 00303ed0 0000001b 001aad94 0224951d 001e0307 00000001 00112cfa 0000000a
00303ed0 001125a8 0000000a 00303ed0 02249000 0224951c 0224911b 0000001b
001aad94 0224951d 02670718 00140018 00000018 00c7002b 0000002b fffffff4
Call Trace: 00112cfa 001125a8 00140018 00167c91 00112d27 03022058 030215dc
03021b10 00146b9c 00166f80 00116cbe 0011cc6a 001106a9
Code: f7 c3 bf ff ff ff 74 56 83 3d c4 a5 19 00 00 74 4d b0 22 89
Aiee, killing interrupt handler
eth0: transmit timed out, TX status 0x3, ISR 0x3.
eth0: Possible IRQ conflict on IRQ10?
0017eb90 t _ei_start_xmit
0017f0e0 T _ei_interrupt <---- Crash!
0017f3a0 t _ei_tx_intr
0011254c t _IRQ10_interrupt
001125cc t _fast_IRQ10_interrupt <---- 1
0011263c t _bad_IRQ10_interrupt
00112c7c T _get_irq_list
00112cdc T _do_IRQ <---- 2
00112d0c T _do_fast_IRQ
0013fe54 t _tcp_select
00140004 T _tcp_ioctl <---- 3
00140114 T _tcp_check
invalid operand: 0000
EIP: 0010:0017f2b0
EFLAGS: 00010246
eax: 00000000 ebx: 00000000 ecx: 0000000a edx: 00000307
esi: 00199558 edi: 00000300 ebp: 00009098 esp: 02076f8c
ds: 0018 es: 0018 fs: 002b gs: 002b ss: 0018
Process rsmtp (pid: 130, process nr: 44, stackpage=02076000)
Stack: 02076fbc 0000002e 0000002e 0003e400 02260307 00000001 00112cfa 0000000a
02076fbc 001125a8 0000000a 02076fbc 60090688 0003e400 0000002e 0000002e
0000002e 0003e400 0000002e 0000002b 0004002b 0004002b 0000002b fffffff4
Call Trace: 00112cfa 001125a8
Code: f7 c3 bf ff ff ff 74 56 83 3d c4 a5 19 00 00 74 4d b0 22 89
Aiee, killing interrupt handler
invalid operand: 0000
EIP: 0010:0017f1d0
EFLAGS: 00010246
eax: 00000022 ebx: 00000001 ecx: 00000072 edx: 00000300
esi: 00199558 edi: 00000300 ebp: 00009098 esp: 0091af8c
ds: 0018 es: 0018 fs: 002b gs: 002b ss: 0018
Process cpp (pid: 942, process nr: 58, stackpage=0091a000)
Stack: 0091afbc 0000057b 0001f323 bfffecc0 00a50307 00000001 00112cfa 0000000a
0091afbc 001125a8 0000000a 0091afbc 0001f31d 0000076e 00000006 0000057b
0001f323 bfffecc0 00000046 600c002b 0000002b 0004002b 0000002b fffffff4
Call Trace: 00112cfa 001125a8
Code: 31 c0 66 8b 54 24 10 ec e6 80 89 c3 85 db 0f 84 cc 00 00 00
Aiee, killing interrupt handler
I do believe a fix should be released for this. Since it apparently
affects several different cards. Can we see a fix in 1.2.12 please? :)
I also got the following, perhaps related kernel panic:
Unable to handle kernel NULL pointer dereference at virtual address c0000000
current->tss.cr3 = 00bf5000, %cr3 = 00bf5000
*pde = 00102067
*pte = 00000027
Oops: 0000
EIP: 0010:0301e424
EFLAGS: 00010246
eax: 00000000 ebx: 00000184 ecx: 0000003a edx: 02547c00
esi: 01fae0c7 edi: 0000003a ebp: 02107f84 esp: 02107f14
ds: 0018 es: 0018 fs: 002b gs: 002b ss: 0018
Process cc1 (pid: 2214, process nr: 60, stackpage=02107000)
Stack: 00000008 001a5b28 001aad84 00000079 01e2ee79 00000000 02547c00 0000001d
000001ae 0000003a 0000000a 03022054 00000000 0302157c 03021b0c 03021714
01fef000 02547c20 0000003e 00000010 023f6410 01e12000 00122000 00000001
Call Trace: 03022054 0302157c 03021b0c 03021714 00122000 0302157c 00116c7c
0011cc6a 001106a9
Code: dc 00 00 00 39 de 7e 02 89 de 8b 55 a8 8b 92 cc 00 00 00 89
Aiee, killing interrupt handler
00116a44 t _second_overflow
00116bf4 t _timer_bh <---- 1
00116c94 T _tqueue_bh
0011cbbc T _run_task_queue
0011cc2c T _do_bottom_half <---- 2
0011ccd0 T _get_ioport_list
When I tried compiling 1.2.11 using the 8390.c from 1.3.5 like Paul
Gortmaker suggested, it seemed to help a little bit but I did get a new
problem, the system once came to a halt printing thousands of "eth0: Tx
request while isr active" messages. The keyboard locked and I had to hit
the reset button.
Apparently, any 8390 based card is not going to be stable with Linux. So
here's the big question:
Which card is >>>the most stable<<< under Linux? With the 8390 drivers in
the state they are, that disqualifies any 80x3 and NEx000 card. My guess is
it's some 3COM 3509 or other card?
-Dan
----
------------------------------------------------------------------------------
Dan Hollis | Seiyuu Daisuki! |"Ranko-chan, ii oyome-san
MAGICK.NET System Administrator | Orikasa Ai | ni nareru wa yo" -
http://www.magick.net/ | Yokoyama Chisa | Saotome Nodoka
dhollis@magick.net | ("(^_^)") |
------------------------------------------------------------------------------