[657] in linux-net channel archive

home help back first fref pref prev next nref lref last post

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              |    ("(^_^)")    |
------------------------------------------------------------------------------

home help back first fref pref prev next nref lref last post