3C590 card problem

David Haring dave@veronique.ibp.cz
Thu Oct 15 09:56:12 1998


Hello,

I have a machine running RedHat Linux 5.0, with the 3c59x.c:v0.99F
8/7/98 driver compiled in kernel and the 3COM 3c590 card. 
This machine is web server, it server approx. 1GB of data per day and
receives about 3-5 hits per second and the system itself is just
moderately loaded. I have tried various versions of the 3c59x driver
(e.g. 99D,99E,99F) and also several versions of the Apache (ranging
from 1.2.5 to 1.3.2). The problem shows with all combinations of the
driver, after several days of use (varying from one day to one week)
the system hangs up (sometimes completely, sometimes just the
networking stops working) and the system log always contains messages
like the following: 


Oct 13 15:30:46 www kernel: general protection: 0000
Oct 13 15:30:46 www kernel: CPU:    0
Oct 13 15:30:46 www kernel: EIP:    0010:[tcp_recvmsg+368/1036]
Oct 13 15:30:46 www kernel: EFLAGS: 00010217
Oct 13 15:30:46 www kernel: eax: f000e987   ebx: 00000000   ecx: 01e97834   edx: f000f84d
Oct 13 15:30:46 www kernel: esi: 01e978d0   edi: 000001a5   ebp: 01e97810   esp: 011c1ee8
Oct 13 15:30:46 www kernel: ds: 0018   es: 0018   fs: 002b   gs: 002b   ss: 0018
Oct 13 15:30:46 www kernel: Process apache (pid: 5336, process nr: 47, stackpage=011c1000)
Oct 13 15:30:46 www kernel: Stack: 01e97810 011c1f7c 00000000 00000000 67a73d5a 01e97834 00000000 000001a5 
Oct 13 15:30:46 www kernel:        022f1414 018f9f48 57a83402 0014f3ee 01e97810 011c1f78 00000e5b 00000000 
Oct 13 15:30:46 www kernel:        00000000 011c1f7c 00001000 018f9f00 080b952c 018f9f90 001367ef 018f9f90 
Oct 13 15:30:46 www kernel: Call Trace: [inet_recvmsg+114/136] [sock_read+171/192] [sys_read+192/232] [system_call+85/124] 
Oct 13 15:30:46 www kernel: Code: 8a 40 0d a8 02 74 04 ff 4c 24 10 8b 7c 24 10 39 7b 30 0f 87 

... skipping ...

Oct 13 18:44:12 www kernel: Warning: kfree_skb passed an skb still on a list (from 02791dfc).
Oct 13 18:44:12 www kernel: Unable to handle kernel paging request at virtual address de78148b
Oct 13 18:44:12 www kernel: current->tss.cr3 = 01d97000, 
Oct 13 18:44:12 www kernel: *pde = 00000000
Oct 13 18:44:12 www kernel: Oops: 0002
Oct 13 18:44:12 www kernel: CPU:    0
Oct 13 18:44:12 www kernel: EIP:    0010:[<026c1414>]
Oct 13 18:44:12 www kernel: EFLAGS: 00010206
Oct 13 18:44:12 www kernel: eax: 026c1414   ebx: 02791c0c   ecx: 00004604   edx: 00004000
Oct 13 18:44:12 www kernel: esi: 00000124   edi: 00000000   ebp: 056dd055   esp: 024a4d44
Oct 13 18:44:12 www kernel: ds: 0018   es: 0018   fs: 002b   gs: 002b   ss: 0018
Oct 13 18:44:12 www kernel: Process apache (pid: 32692, process nr: 10, stackpage=024a4000)
Oct 13 18:44:12 www kernel: Stack: 001388e7 02791c0c 02791c0c 0000469c 00138be7 02791c0c 0000469c 0000469c 
Oct 13 18:44:12 www kernel:        02791c0c 00000000 00146d9e 0000469c 00000000 02791c0c 01975928 3f8d5400 
Oct 13 18:44:12 www kernel:        01975954 001c003c 00000000 00000003 00138903 01975954 001b5aa0 00000000 
Oct 13 18:44:12 www kernel: Call Trace: [sock_wfree+35/44] [kfree_skb+183/244] [tcp_ack+1382/2244] [sock_rfree+19/32] [tcp_rcv+2051/2404] [vortex_rx+297/580] [ip_rcv+983/1288] 
Oct 13 18:44:12 www kernel:        [net_bh+252/284] [do_bottom_half+59/96] [handle_bottom_half+11/24] [sock_rfree+2/32] [kfree_skb+166/244] [cleanup_rbuf+83/148] [tcp_recvmsg+1002/1036] [inet_recvmsg+114/136] 
Oct 13 18:44:12 www kernel:        [sock_read+171/192] [sys_read+192/232] [system_call+85/124] 
Oct 13 18:44:12 www kernel: Code: 10 98 77 00 0c 1c 6c 02 00 00 00 00 00 00 00 00 24 75 6c f7 
Oct 13 18:44:12 www kernel: Aiee, killing interrupt handler
Oct 13 18:44:12 www kernel: general protection: 0000
Oct 13 18:44:12 www kernel: CPU:    0
Oct 13 18:44:12 www kernel: EIP:    0010:[def_callback3+15/60]
Oct 13 18:44:12 www kernel: EFLAGS: 00010246
Oct 13 18:44:12 www kernel: eax: 0014e900   ebx: 02791810   ecx: 00004408   edx: 00000104
Oct 13 18:44:12 www kernel: esi: 00000104   edi: 00000000   ebp: 00004480   esp: 00a5ed18
Oct 13 18:44:12 www kernel: ds: 0018   es: 0018   fs: 002b   gs: 002b   ss: 0018
Oct 13 18:44:12 www kernel: Process apache (pid: 32656, process nr: 54, stackpage=00a5e000)
Oct 13 18:44:12 www kernel: Stack: 02791810 001388e7 02791810 02791810 00004480 00138be7 02791810 00004480 
Oct 13 18:44:12 www kernel:        0000ef00 00000000 00005810 00139062 00004480 00000000 0000ef80 0000446a 
Oct 13 18:44:12 www kernel:        00199c12 00004480 00000000 00000001 00004480 001c02b0 001c0218 00000000 
Oct 13 18:44:12 www kernel: Call Trace: [sock_wfree+35/44] [kfree_skb+183/244] [dev_kfree_skb+62/76] [vortex_start_xmit+182/420] [do_dev_queue_xmit+423/472] [dev_queue_xmit+26/36] [ip_build_xmit+1455/2992] 
Oct 13 18:44:12 www kernel:        [__iget+470/544] [__brelse+34/68] [udp_send+209/244] [udp_getfrag+0/176] [do_fork+852/1996] [udp_sendto+196/232] [udp_sendmsg+52/192] [inet_sendmsg+149/172] 
Oct 13 18:44:12 www kernel:        [sys_send+221/240] [sys_socketcall+449/732] [system_call+85/124] 
Oct 13 18:44:12 www kernel: Code: 89 4c ff cf 39 83 3c 01 00 00 7c 1d 8b 83 d0 00 00 00 50 e8 
Oct 13 18:44:12 www kernel: Aiee, killing interrupt handler
Oct 13 18:44:12 www kernel: general protection: 0000
Oct 13 18:44:12 www kernel: CPU:    0
Oct 13 18:44:12 www kernel: EIP:    0010:[def_callback3+15/60]
Oct 13 18:44:12 www kernel: EFLAGS: 00010246
Oct 13 18:44:12 www kernel: eax: 0014e900   ebx: 024c1810   ecx: 00000000   edx: 00000ec8
Oct 13 18:44:12 www kernel: esi: 00000764   edi: 00000000   ebp: de90a432   esp: 001b357c
Oct 13 18:44:12 www kernel: ds: 0018   es: 0018   fs: 002b   gs: 0018   ss: 0018
Oct 13 18:44:12 www kernel: Process swapper (pid: 0, process nr: 0, stackpage=001b1758)
Oct 13 18:44:12 www kernel: Stack: 024c1810 001388e7 024c1810 024c1810 023276e8 00138be7 024c1810 023276e8 
Oct 13 18:44:12 www kernel:        023276e8 024c1810 00000000 00146d9e 023276e8 00000000 024c1810 02411730 
Oct 13 16:44:12 www kerneld: error: exit: Identifier removed
Oct 13 18:44:12 www kernel:        01736436 0241175c 001c003c 00000000 00000003 024c1810 00004640 001b5aa0 
Oct 13 18:44:12 www kernel: Call Trace: [sock_wfree+35/44] [kfree_skb+183/244] [tcp_ack+1382/2244] [tcp_rcv+2051/2404] [vortex_rx+297/580] [ip_rcv+983/1288] [net_bh+252/284] 
Oct 13 18:44:12 www kernel:        [do_bottom_half+59/96] [handle_bottom_half+11/24] [sys_idle+92/112] [system_call+85/124] [init+0/612] [start_kernel+429/440] 
Oct 13 18:44:12 www kernel: Code: 89 4c ff cf 39 83 3c 01 00 00 7c 1d 8b 83 d0 00 00 00 50 e8 
Oct 13 18:44:12 www kernel: Aiee, killing interrupt handler
Oct 13 18:44:12 www kernel: kfree of non-kmalloced memory: 001b37a0, next= 00000000, order=0
Oct 13 18:44:12 www kernel: kfree of non-kmalloced memory: 001b3790, next= 00000000, order=0
Oct 13 18:44:12 www kernel: kfree of non-kmalloced memory: 001b3ca4, next= 00000000, order=0
Oct 13 18:44:12 www kernel: idle task may not sleep
Oct 13 18:44:12 www last message repeated 4 times


the card has been in use in another system before without problems
and is detected properly at startup:

  The PCI BIOS has not enabled this device!  Updating PCI command 0000->0005.
eth0: 3Com 3c590 Vortex 10Mbps at 0xef80, 00:20:af:d4:a8:3e, IRQ 11
  32K byte-wide RAM 1:1 Rx:Tx split, autoselect/10base2 interface.
eth0: Overriding PCI latency timer (CFLT) setting of 64, new value is 248.
3c59x.c:v0.99F 8/7/98 Donald Becker http://cesdis.gsfc.nasa.gov/linux/drivers/vortex.html


Does anybody has a solution? (Or should I exchange the card for another
one - if so which one?)

thanks in advance

David Haring
Institute of Biophysics         home:
Kralovopolska 135, Brno         Musorgskeho 2, Brno  
612 65 Czech Republic           623 00 Czech Republic
phone: (42) (5) 41 517 196      home phone: (42) (5) 38 31 91
fax: (42) (5) 41 24 04 97