[tulip-bug] Raising MAX_UNITS causes oops and weird behaviour

Pekka Savola pekkas@netcore.fi
Wed, 22 Nov 2000 15:51:31 +0200 (EET)


Hi,

Using D-Link DFE-570TX Quad card.

I raised MAX_UNITS from 8 to 32 (using many quad cards; just to be
sure...) with tulip driver:

tulip.c:v0.92l 8/19/2000

When the module is insmodded, 'lsmod' reports '-1' as Used field.

Along the same lines, I've seen a lot of oopses.  This one was with
ifconfig eth0 down when lsmod reported -1:

----
ksymoops 0.7c on i686 2.2.16-3.  Options used
     -V (default)
     -k /proc/ksyms (default)
     -l /proc/modules (default)
     -o /lib/modules/2.2.16-3/ (default)
     -m /boot/System.map (specified)

Nov 22 15:21:22 fwtest kernel: Unable to handle kernel paging request at
virtual address 0000109f
Nov 22 15:21:22 fwtest kernel: current->tss.cr3 = 030a4000, %%cr3 =
030a4000
Nov 22 15:21:22 fwtest kernel: *pde = 00000000
Nov 22 15:21:22 fwtest kernel: Oops: 0000
Nov 22 15:21:22 fwtest kernel: CPU:    0
Nov 22 15:21:22 fwtest kernel: EIP:
0010:[tulip:__insmod_tulip_S.text_L21894+15240/21904]
Nov 22 15:21:22 fwtest kernel: EFLAGS: 00010296
Nov 22 15:21:22 fwtest kernel: eax: c4056bcc   ebx: 00001043   ecx:
00000246   edx: 00000000
Nov 22 15:21:22 fwtest kernel: esi: c3881240   edi: 00001043   ebp:
c3a09eb4   esp: c3a09ea8
Nov 22 15:21:22 fwtest kernel: ds: 0018   es: 0018   ss: 0018
Nov 22 15:21:22 fwtest kernel: Process ifconfig (pid: 12446, process nr:
27, stackpage=c3a09000)
Nov 22 15:21:22 fwtest kernel: Stack: 00000000 c0154a18 c3881480 00001042
c014fe92 c3881240 00001043 c3881240
Nov 22 15:21:22 fwtest kernel:        c0150980 c3881240 c14813c0 00001042
c14813e4 c3a09f40 c0170f9c c3881240
Nov 22 15:21:22 fwtest kernel:        00001042 00008914 00008914 bffffa14
c2094c40 00008913 00000000 c3a09f40
Nov 22 15:21:22 fwtest kernel: Call Trace: [dev_deactivate+28/88]
[dev_close+78/156] [dev_change_flags+80/268] [devi
net_ioctl+620/1404] [dev_ioctl+337/792] [inet_ioctl+294/412]
[free_pages+36/40]
Nov 22 15:21:22 fwtest kernel: Code: 8b 57 5c 31 c0 0f ab 47 24 19 c0 85
c0 74 1f a1 80 47 21 c0
Using defaults from ksymoops -t elf32-i386 -a i386

Code;  00000000 Before first symbol
00000000 <_EIP>:
Code;  00000000 Before first symbol
   0:   8b 57 5c                  mov    0x5c(%edi),%edx
Code;  00000003 Before first symbol
   3:   31 c0                     xor    %eax,%eax
Code;  00000005 Before first symbol
   5:   0f ab 47 24               bts    %eax,0x24(%edi)
Code;  00000009 Before first symbol
   9:   19 c0                     sbb    %eax,%eax
Code;  0000000b Before first symbol
   b:   85 c0                     test   %eax,%eax
Code;  0000000d Before first symbol
   d:   74 1f                     je     2e <_EIP+0x2e> 0000002e Before
first symbol
Code;  0000000f Before first symbol
   f:   a1 80 47 21 c0            mov    0xc0214780,%eax
----

Any ideas?  Please Cc:.

HTH, TIA
-- 
Pekka Savola                 "Tell me of difficulties surmounted,
Pekka.Savola@netcore.fi      not those you stumble over and fall"