oops from eepro100 driver

Aaron J. Grier (agrier@cse.ogi.edu)
Fri, 1 Aug 1997 10:22:07 -0700 (PDT)


2.0.30 + pre-patch-2.0.31-2 with:
SCSI-size
QNX-scheduler-2.0.31-pre2-3 (v1.03)
awe32
buffer-swap-jul29 (Werner's)
eepro100
menuconfig-2.0.30.patch

everything as a module except for aha152x SCSI with disk support and
ext2fs. (.config available on request) To produce this oops, all loadable
modules were removed.

The machine is otherwise stable, except for this eepro100 problem...

Machine is a Am5x86-WB @ 133MHz. This is repeatable, so any hacks are
welcome.

* initialization:

eepro100.c:v0.24 1/30/97 Donald Becker linux-eepro100@cesdis.gsfc.nasa.gov
Found Intel i82557 PCI Speedo at I/O 0x6000, IRQ 7.
PCI latency timer (CFLT) is 0x20.

eepro100.c:v0.24 1/30/97 Donald Becker linux-eepro100@cesdis.gsfc.nasa.gov
eth0: Intel EtherExpress Pro 10/100 at 0x6000, 00:A0:C9:5F:C5:72, IRQ 7.
Board assembly 667280-003, Physical connectors present: RJ45
Primary interface chip unknown PHY #1.
General self-test: passed.
Serial sub-system self-test: passed.
Internal registers self-test: passed.
ROM checksum self-test: passed (0x49caa8d6).
Reciever lock-up workaround activated.
eth0: speedo_open() irq 7.
eth0: Done speedo_open(), status 00000050.

* the actual oops: (right after the ifconfig, hence the dump)

Unable to handle kernel NULL pointer dereference at virtual address c0000008
current->tss.cr3 = 00e22000, %cr3 = 00e22000
*pde = 00102067
*pte = 00000027
Oops: 0002
CPU: 0
EIP: 0010:[<0180bab3>]
EFLAGS: 00010206
eax: 013bb9d8 ebx: 00d0b018 ecx: 00000005 edx: 00000001
esi: 00000006 edi: 00000008 ebp: 00000001 esp: 00ebee48
ds: 0018 es: 0018 fs: 002b gs: 002b ss: 0018
Process ifconfig (pid: 412, process nr: 5, stackpage=00ebe000)
Stack: 00000006 00c87018 0009e302 00000006 00ebee78 00ebee78 00000001 00000000
00001002 00000001 00000246 00c87018 013bb9d8 00000008 00000006 00000000
00000005 00001002 0019ec00 ffaa6000 0013c937 00c87018 0013ca6f 00c87018
Call Trace: [<0013c937>] [<0013ca6f>] [<00153d63>] [<00154099>] [<00145ee5>] [<0013b784>] [<0013c246>]
[<0013c807>] [<00153657>] [<00138611>] [<0012f9e7>] [<0010a849>]
Code: 66 89 37 83 c7 02 89 7c 24 34 c7 44 24 38 00 00 00 00 8b 44

Using `/boot/System.map' to map addresses to symbols.

Trace: 13c937 <unix_getname+7f/90>
Trace: 13ca6f <unix_fd_copy+93/a0>
Trace: 153d63 <ext2_new_inode+173/624>
Trace: 154099 <ext2_new_inode+4a9/624>
Trace: 145ee5 <tcp_recvmsg+1dd/408>
Trace: 13b784 <unregister_net_alias_type+18/80>
Trace: 13c246 <unix_find_other+4e/78>
Trace: 13c807 <unix_accept+103/1b4>
Trace: 153657 <sync_dindirect+87/90>
Trace: 138611 <sock_alloc_send_skb+6d/130>
Trace: 12f9e7 <elf_core_dump+827/a38>
Trace: 10a849 <ret_from_sys_call+39/88>

Code: movw %si,(%edi)
Code: addl $0x2,%edi
Code: movl %edi,0x34(%esp,1)
Code: movl $0x0,0x38(%esp,1)
Code: movl 0xffffff90(%eax,%eax,1),%eax
Code: nop
Code: nop

* Meminfo (in case it makes a difference):

Mem-info:
Free pages: 12780kB
( 135*4kB 88*8kB 33*16kB 10*32kB 3*64kB 82*128kB = 12780kB)
Swap cache: add 0/0, delete 86436/0, find 0/0
Free swap: 50156kB
5120 pages of RAM
3200 free pages
366 reserved pages
205 pages shared
Buffer memory: 1444kB
Buffer heads: 1506
Buffer blocks: 1476
CLEAN: 1291 buffers, 8 used (last=19), 0 locked, 0 protected, 0 dirty
LOCKED: 134 buffers, 7 used (last=129), 0 locked, 0 protected, 0 dirty
DIRTY: 21 buffers, 3 used (last=4), 0 locked, 0 protected, 21 dirty
Networking buffers in use : 32
Network buffers locked by drivers : 0
Total network buffer allocations : 144
Total failed network buffer allocs : 0
Total free while locked events : 0
IP fragment buffer size : 0

Aaron J. Grier | Oregon Graduate Institute research programmer
DECBEE650DEE3A0C 1ED7F54D9E023CC4 | agrier@cse.ogi.edu, agrier@reed.edu
"Not your ordinary poofy goof." | 0x0663D1A9 at a server near you.