Messages in this thread | | | Subject | PCI oops in 2.1.51 | Date | Wed, 20 Aug 1997 14:17:18 +0100 | From | David Woodhouse <> |
| |
I was investigating why the 3c59x driver was only detecting one card instead of two, when `cat /proc/pci` generated the following:
Unable to handle kernel NULL pointer dereference at virtual address 00000000 current->tss.cr3 = 00892000, ^Xr3 = 00892000 *pde = 00000000 Oops: 0000 CPU: 0 EIP: 0010:[<c01a67ab>] EFLAGS: 00010246 eax: 00000000 ebx: 0000008f ecx: ffffffff edx: 00000000 esi: 00000068 edi: 00000000 ebp: c022ac00 esp: c0891ed0 ds: 0018 es: 0018 ss: 0018 Process cat (pid: 300, process nr: 22, stackpage=c0891000) Stack: 00000013 c089a013 c01bbe5c c089a000 c089a000 00000073 c1009000 c0873000 c0891f48 c01bbe6e 00000068 00000001 00000293 ffff3cc0 ffffffff 10b6ffff 02000000 c01a6af9 c022ac00 c089a013 00000fc9 00000000 c0891f98 c0c195a0 Call Trace: [<c01bbe5c>] [<c01bbe6e>] [<c01a6af9>] [<c014760e>] [<c014780e>] [<c01109bb>] [<c012776f>] [<c01098d6>] Code: f2 ae f7 d1 49 01 d9 89 4c 24 14 8b 44 24 50 39 c1 0f 87 c0
Using `../System.map' to map addresses to symbols.
>>EIP: c01a67ab <sprint_dev_config+203/4f8> Trace: c01bbe5c <NR_TYPES+1e30/1f5f> Trace: c01bbe6e <NR_TYPES+1e42/1f5f> Trace: c01a6af9 <get_pci_list+59/94> Trace: c014760e <get_root_array+d6/1a0> Trace: c014780e <array_read+ae/238> Trace: c01109bb <do_page_fault+18f/384> Trace: c012776f <sys_read+10f/178> Trace: c01098d6 <system_call+3a/40>
Code: c01a67ab <sprint_dev_config+203/4f8> Code: c01a67ab <sprint_dev_config+203/4f8> f2 ae repnz scasb %es:(%edi),%al Code: c01a67ad <sprint_dev_config+205/4f8> f7 d1 notl %ecx Code: c01a67af <sprint_dev_config+207/4f8> 49 decl %ecx Code: c01a67b0 <sprint_dev_config+208/4f8> 01 d9 addl %ebx,%ecx Code: c01a67b2 <sprint_dev_config+20a/4f8> 89 4c 24 14 movl %ecx,0x14(%esp,1) Code: c01a67bc <sprint_dev_config+214/4f8> 8b 44 24 50 movl 0x50(%esp,1),%eax Code: c01a67c0 <sprint_dev_config+218/4f8> 39 c1 cmpl %eax,%ecx Code: c01a67c2 <sprint_dev_config+21a/4f8> 0f 87 c0 00 90 ja 909000d7 <_EIP+909000d7> Code: c01a67cd <sprint_dev_config+225/4f8> 90 Code: c01a67ce <sprint_dev_config+226/4f8> 90 nop
(That's odd: Note the corruption of the second "cr3" in the oops message...)
passport_simulator /usr/src/linux/scripts # cat /var/log/messages | grep cr3 Aug 20 12:15:33 passport_simulator kernel: current->tss.cr3 = 0095b000, <r3 = 0095b000 Aug 20 12:15:40 passport_simulator kernel: current->tss.cr3 = 0095b000, <r3 = 0095b000 Aug 20 12:15:41 passport_simulator kernel: current->tss.cr3 = 007c0000, <r3 = 007c0000 Aug 20 12:15:41 passport_simulator kernel: current->tss.cr3 = 007c0000, <r3 = 007c0000 Aug 20 12:47:20 passport_simulator kernel: current->tss.cr3 = 00aa8000, ^Xr3 = 00aa8000 Aug 20 14:24:43 passport_simulator kernel: current->tss.cr3 = 00892000, ^Xr3 = 00892000
This machine is a Toshiba laptop, which complains of three unknown PCI devices at boot. Could it be that the device info structures aren't set up correctly for unknown devices, triggering the oops later when the device list is traversed?
I'd look into it further before asking, but someone's using the machine at the moment, and I can't find any more of them with Linux on.
-- David Woodhouse, CB3 9AN http://dwmw2.robinson.cam.ac.uk/ dwmw2@cam.ac.uk Tel: 0976 658355 D.W.Woodhouse@nortel.co.uk Tel: 01279 402332
| |