public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* 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