* 2.5.19 OOPS in pcmcia setup code
@ 2002-05-30 19:57 Alessandro Suardi
2002-06-01 9:03 ` Peter Osterlund
0 siblings, 1 reply; 3+ messages in thread
From: Alessandro Suardi @ 2002-05-30 19:57 UTC (permalink / raw)
To: linux-kernel
decoded oops follows, 100% reproducable.
Dell Latitude CPxJ750GT, PIII-750, Xircom RBEM56G100-TX,
kernel compiled with GCC 3.1. NB, 2.5.18 compiled with
GCC 3.1 works fine.
I tried recompiling with RH7.3 GCC but I still get an oops
on boot - I can't decode it since it scrolls maybe a dozen
screenfuls before stopping, so here's the GCC 3.1 one:
ksymoops 2.4.4 on i686 2.5.18. Options used
-v /usr/src/linux-2.5.19/vmlinux (specified)
-K (specified)
-L (specified)
-o /lib/modules/2.5.19 (specified)
-m /boot/System.map-2.5.19 (specified)
No modules in ksyms, skipping objects
CPU: 0
EIP: 0010:[<c02cd3db>]
Using defaults from ksymoops -t elf32-i386 -a i386
EFLAGS: 00010296
eax: cff57720 ebx: c13b69ec ecx: c13b6800 edx: c0207846
esi: c02f6794 edi: c13b6800 ebp: c13b6800 esp: cff5bb18
ds: 0018 es: 0018 ss: 0018
Stack: 0000000b 00000003 0000000b c13b6800 00026572 00038001 115dffff 00000000
00000000 00000000 00000000 cff57720 00000000 00000000 00000000 00000002
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
Call Trace: [<c02043c7>] [<c020430f>] [<c0204286>] [<c0205ad7>] [<c0204c9a>]
[<c0120290>] [<c011d7e2>] [<c011d7c5>] [<c0207f50>] [<c0105000>] [<c011d6c7>]
[<c0105000>] [<c0105081>] [<c0105000>] [<c01057de>] [<c0105060>]
Code: 62 6f 72 61 74 6f 72 79 00 54 72 69 54 65 63 68 00 54 65 78
>>EIP; c02cd3db <timer_bug_msg+227db/2b9a0> <=====
Trace; c02043c7 <unreset_socket+a7/140>
Trace; c020430f <reset_socket+4f/60>
Trace; c0204286 <setup_socket+b6/f0>
Trace; c0205ad7 <pcmcia_register_client+277/2a0>
Trace; c0204c9a <pcmcia_bind_device+8a/f0>
Trace; c0120290 <process_timeout+0/10>
Trace; c011d7e2 <register_proc_table+b2/130>
Trace; c011d7c5 <register_proc_table+95/130>
Trace; c0207f50 <ds_event+0/90>
Trace; c0105000 <_stext+0/0>
Trace; c011d6c7 <register_sysctl_table+67/90>
Trace; c0105000 <_stext+0/0>
Trace; c0105081 <init+21/190>
Trace; c0105000 <_stext+0/0>
Trace; c01057de <kernel_thread+2e/40>
Trace; c0105060 <init+0/190>
Code; c02cd3db <timer_bug_msg+227db/2b9a0>
00000000 <_EIP>:
Code; c02cd3db <timer_bug_msg+227db/2b9a0> <=====
0: 62 6f 72 bound %ebp,0x72(%edi) <=====
Code; c02cd3de <timer_bug_msg+227de/2b9a0>
3: 61 popa
Code; c02cd3df <timer_bug_msg+227df/2b9a0>
4: 74 6f je 75 <_EIP+0x75> c02cd450 <timer_bug_msg+22850/2b9a0>
Code; c02cd3e1 <timer_bug_msg+227e1/2b9a0>
6: 72 79 jb 81 <_EIP+0x81> c02cd45c <timer_bug_msg+2285c/2b9a0>
Code; c02cd3e3 <timer_bug_msg+227e3/2b9a0>
8: 00 54 72 69 add %dl,0x69(%edx,%esi,2)
Code; c02cd3e7 <timer_bug_msg+227e7/2b9a0>
c: 54 push %esp
Code; c02cd3e8 <timer_bug_msg+227e8/2b9a0>
d: 65 63 68 00 arpl %bp,%gs:0x0(%eax)
Code; c02cd3ec <timer_bug_msg+227ec/2b9a0>
11: 54 push %esp
Code; c02cd3ed <timer_bug_msg+227ed/2b9a0>
12: 65 gs
Code; c02cd3ee <timer_bug_msg+227ee/2b9a0>
13: 78 00 js 15 <_EIP+0x15> c02cd3f0 <timer_bug_msg+227f0/2b9a0>
--alessandro
"the hands that build / can also pull down
even the hands of love"
(U2, "Exit")
^ permalink raw reply [flat|nested] 3+ messages in thread* Re: 2.5.19 OOPS in pcmcia setup code
2002-05-30 19:57 2.5.19 OOPS in pcmcia setup code Alessandro Suardi
@ 2002-06-01 9:03 ` Peter Osterlund
2002-06-01 21:19 ` Peter Osterlund
0 siblings, 1 reply; 3+ messages in thread
From: Peter Osterlund @ 2002-06-01 9:03 UTC (permalink / raw)
To: Alessandro Suardi; +Cc: linux-kernel, mochel
Alessandro Suardi <alessandro.suardi@oracle.com> writes:
> decoded oops follows, 100% reproducable.
>
> Dell Latitude CPxJ750GT, PIII-750, Xircom RBEM56G100-TX,
> kernel compiled with GCC 3.1. NB, 2.5.18 compiled with
> GCC 3.1 works fine.
>
> I tried recompiling with RH7.3 GCC but I still get an oops
> on boot - I can't decode it since it scrolls maybe a dozen
> screenfuls before stopping, so here's the GCC 3.1 one:
My laptop also oopses on boot, but this patch makes things work again:
--- drivers/pci/hotplug.c.old Sat Jun 1 10:53:53 2002
+++ drivers/pci/hotplug.c Sat Jun 1 10:52:05 2002
@@ -61,7 +61,7 @@
struct list_head *ln;
for(ln=pci_bus_type.drivers.next; ln != &pci_bus_type.drivers; ln=ln->next) {
- struct pci_driver *drv = list_entry(ln, struct pci_driver, node);
+ struct pci_driver *drv = list_entry(ln, struct pci_driver, driver.bus_list);
if (drv->remove && pci_announce_device(drv, dev))
break;
}
--
Peter Osterlund - petero2@telia.com
http://w1.894.telia.com/~u89404340
^ permalink raw reply [flat|nested] 3+ messages in thread* Re: 2.5.19 OOPS in pcmcia setup code
2002-06-01 9:03 ` Peter Osterlund
@ 2002-06-01 21:19 ` Peter Osterlund
0 siblings, 0 replies; 3+ messages in thread
From: Peter Osterlund @ 2002-06-01 21:19 UTC (permalink / raw)
To: linux-kernel; +Cc: Alessandro Suardi, Patrick Mochel
Peter Osterlund <petero2@telia.com> writes:
> My laptop also oopses on boot, but this patch makes things work again:
I get an oops also in pci_unregister_driver, which happens because
driver_list in the device structure is never initialized. I'm now
running with this patch which seems to work:
diff -u -r linux.orig/drivers/base/driver.c linux/drivers/base/driver.c
--- linux.orig/drivers/base/driver.c Sat Jun 1 19:48:49 2002
+++ linux/drivers/base/driver.c Sat Jun 1 13:28:41 2002
@@ -37,6 +37,7 @@
write_lock(&drv->bus->lock);
list_add(&drv->bus_list,&drv->bus->drivers);
write_unlock(&drv->bus->lock);
+ INIT_LIST_HEAD(&drv->devices);
driver_make_dir(drv);
put_driver(drv);
return 0;
diff -u -r linux.orig/drivers/pci/hotplug.c linux/drivers/pci/hotplug.c
--- linux.orig/drivers/pci/hotplug.c Sat Jun 1 19:48:49 2002
+++ linux/drivers/pci/hotplug.c Sat Jun 1 10:52:05 2002
@@ -61,7 +61,7 @@
struct list_head *ln;
for(ln=pci_bus_type.drivers.next; ln != &pci_bus_type.drivers; ln=ln->next) {
- struct pci_driver *drv = list_entry(ln, struct pci_driver, node);
+ struct pci_driver *drv = list_entry(ln, struct pci_driver, driver.bus_list);
if (drv->remove && pci_announce_device(drv, dev))
break;
}
diff -u -r linux.orig/drivers/pci/pci-driver.c linux/drivers/pci/pci-driver.c
--- linux.orig/drivers/pci/pci-driver.c Sat Jun 1 19:48:49 2002
+++ linux/drivers/pci/pci-driver.c Sat Jun 1 19:41:58 2002
@@ -52,6 +52,7 @@
dev_probe_lock();
if (drv->probe(dev, id) >= 0) {
dev->driver = drv;
+ list_add_tail(&dev->dev.driver_list, &drv->driver.devices);
ret = 1;
}
dev_probe_unlock();
@@ -169,6 +170,7 @@
pci_dev->driver = NULL;
dev->driver = NULL;
list_del_init(&dev->driver_list);
+ node = drv->driver.devices.next;
}
put_driver(&drv->driver);
}
diff -u -r linux.orig/include/linux/device.h linux/include/linux/device.h
--- linux.orig/include/linux/device.h Sat Jun 1 19:48:50 2002
+++ linux/include/linux/device.h Sat Jun 1 13:24:52 2002
@@ -125,7 +125,7 @@
struct list_head g_list; /* node in depth-first order list */
struct list_head node; /* node in sibling list */
struct list_head bus_list; /* node in bus's list */
- struct list_head driver_list;
+ struct list_head driver_list; /* node in device_driver's list */
struct list_head children;
struct device * parent;
--
Peter Osterlund - petero2@telia.com
http://w1.894.telia.com/~u89404340
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2002-06-01 21:19 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2002-05-30 19:57 2.5.19 OOPS in pcmcia setup code Alessandro Suardi
2002-06-01 9:03 ` Peter Osterlund
2002-06-01 21:19 ` Peter Osterlund
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox