[lkml]   [2000]   [Nov]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRaising MAX_UNITS in net drivers oopses kernel reproducibly
Hello all,

Using RHL 2.2.16-3 kernel on i686.

Raising MAX_UNITS define from 8 to 16 or 32 in net drivers (tested
tulip.c) causes reproducible oops. The latest Don Becker driver also does
this. Using DFE-570TX quad ethernet cards.

So, why change MAX_UNITS? Interfaces 9-> can't be passed options=,
full_duplex= or similar parameters otherwise. The actual interfaces
should work in autonegotiation though.

I've gotten this crash every time. It can be done as follows:

1) recompile a new tulip module with changed MAX_UNITS.
2) insmod the module
3) take one interface up, with e.g. ifup eth0. [note: traffic doesn't go
4) try to take the interface down, with e.g. ifconfig eth0
5) watch oops in your syslog.

Previous message on syslog was 'Trying to free free IRQ9'.

See below:
Unable to handle kernel paging request at virtual address 0000109f
current->tss.cr3 = 01d69000, %%cr3 = 01d69000
*pde = 00000000
Oops: 0000
CPU: 0
EIP: 0010:[de4x5:de4x5_probe+24259/37172]
EFLAGS: 00010282
eax: c4056f00 ebx: 00001043 ecx: 00000246 edx: 00000000
esi: 00001043 edi: c38cc5a0 ebp: c103deb4 esp: c103deac
ds: 0018 es: 0018 ss: 0018
Process ifconfig (pid: 1924, process nr: 7, stackpage=c103d000)
Stack: 00000000 c38cc480 00001042 c014fe92 c38cc5a0 00001043 c38cc5a0 c0150980
c38cc5a0 c29c6300 00001042 c29c6324 c103df40 c0170f9c c38cc5a0 00001042
00008914 00008914 bffff9f4 c2671740 00008913 00000000 c103df40 c0150ee9
Call Trace: [dev_close+78/156] [dev_change_flags+80/268] [devinet_ioctl+620/1404] [dev_ioctl+337/792] [inet_ioctl+294/412] [free_pages+36/40] [sock_ioctl+29/36]
[sys_ioctl+421/448] [system_call+52/56]
Code: 8b 56 5c 31 c0 0f ab 46 24 19 c0 85 c0 74 29 a1 80 47 21 c0

Note! EIP shows de4x5 for some reason. Please note that de4x5 driver
also "works" with this card. The driver is _really_ buggy with it though.
With Don Becker drivers the output is about the same; EIP is
__insmod_tulip_S and Call Trace: begins with dev_deactivate.

Any ideas? _Should_ raising MAX_UNITS work as I described or are there
any known problems with it?

Please Cc:.

Pekka Savola "Tell me of difficulties surmounted, not those you stumble over and fall"

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
Please read the FAQ at

 \ /
  Last update: 2005-03-22 12:47    [W:0.052 / U:0.044 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site