diff -urN oldtree/drivers/pci/pci-driver.c newtree/drivers/pci/pci-driver.c
--- oldtree/drivers/pci/pci-driver.c	2006-08-18 15:01:22.000000000 -0400
+++ newtree/drivers/pci/pci-driver.c	2006-08-19 17:05:08.707863250 -0400
@@ -432,7 +432,11 @@
 	drv->driver.bus = &pci_bus_type;
 	drv->driver.owner = owner;
 	drv->driver.kobj.ktype = &pci_driver_kobj_type;
-	drv->driver.multithread_probe = pci_multithread_probe;
+	
+	if(pci_multithread_probe)
+		drv->driver.multithread_probe = pci_multithread_probe;
+	else
+		drv->driver.multithread_probe = drv->multithread_probe;
 
 	spin_lock_init(&drv->dynids.lock);
 	INIT_LIST_HEAD(&drv->dynids.list);
diff -urN oldtree/include/linux/pci.h newtree/include/linux/pci.h
--- oldtree/include/linux/pci.h	2006-08-18 15:01:22.000000000 -0400
+++ newtree/include/linux/pci.h	2006-08-19 17:05:08.735865000 -0400
@@ -351,6 +351,8 @@
 	struct pci_error_handlers *err_handler;
 	struct device_driver	driver;
 	struct pci_dynids dynids;
+	
+	int multithread_probe;
 };
 
 #define	to_pci_driver(drv) container_of(drv,struct pci_driver, driver)
