diff options
Diffstat (limited to 'drivers/pci/hotplug/cpqphp_pci.c')
| -rw-r--r-- | drivers/pci/hotplug/cpqphp_pci.c | 10 | 
1 files changed, 4 insertions, 6 deletions
diff --git a/drivers/pci/hotplug/cpqphp_pci.c b/drivers/pci/hotplug/cpqphp_pci.c index 24716725263..09801c6945c 100644 --- a/drivers/pci/hotplug/cpqphp_pci.c +++ b/drivers/pci/hotplug/cpqphp_pci.c @@ -83,7 +83,6 @@ static void __iomem *detect_HRT_floating_pointer(void __iomem *begin, void __iom  int cpqhp_configure_device (struct controller* ctrl, struct pci_func* func)  { -	unsigned char bus;  	struct pci_bus *child;  	int num; @@ -106,11 +105,10 @@ int cpqhp_configure_device (struct controller* ctrl, struct pci_func* func)  	}  	if (func->pci_dev->hdr_type == PCI_HEADER_TYPE_BRIDGE) { -		int max; -		pci_read_config_byte(func->pci_dev, PCI_SECONDARY_BUS, &bus); -		child = (struct pci_bus*) pci_add_new_bus(func->pci_dev->bus, (func->pci_dev), bus); -		max = pci_do_scan_bus(child); -		pci_bus_update_busn_res_end(child, max); +		pci_hp_add_bridge(func->pci_dev); +		child = func->pci_dev->subordinate; +		if (child) +			pci_bus_add_devices(child);  	}  	pci_dev_put(func->pci_dev);  |