I don't believe this problem is being caused by PCMCIA/Cardbus (until
someone proves me wrong.)
This came up a few weeks ago, and it looked like the device models
driver lists became corrupted somehow. Unfortunately it wasn't proven
back then, and I haven't been able to reproduce this behaviour here.
We seem to be failing in pci_bus_match(), with pci_drv->id_table
containing an invalid address. Could you apply this patch and see
what happens? It'll be rather noisy during boot though.
The interesting one should be immediately prior to the oops.
--- orig/drivers/pci/pci-driver.c Sun Nov 24 10:12:24 2002
+++ linux/drivers/pci/pci-driver.c Thu May 15 12:58:56 2003
@@ -6,6 +6,7 @@
#include <linux/pci.h>
#include <linux/module.h>
#include <linux/init.h>
+#include <linux/kallsyms.h>
#include "pci.h"
/*
@@ -183,7 +184,9 @@
struct pci_dev * pci_dev = to_pci_dev(dev);
struct pci_driver * pci_drv = to_pci_driver(drv);
const struct pci_device_id * ids = pci_drv->id_table;
-
+printk("pci_bus_match: pci_drv = %p", pci_drv);
+print_symbol(" (%s)", pci_drv);
+printk("\n");
if (!ids)
return 0;
-- Russell King (rmk@arm.linux.org.uk) The developer of ARM Linux http://www.arm.linux.org.uk/personal/aboutme.html- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/