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)