aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/pci/hotplug/rpaphp_pci.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/pci/hotplug/rpaphp_pci.c')
-rw-r--r--drivers/pci/hotplug/rpaphp_pci.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/pci/hotplug/rpaphp_pci.c b/drivers/pci/hotplug/rpaphp_pci.c
index 17a0279ebcb9..49e4d10a6488 100644
--- a/drivers/pci/hotplug/rpaphp_pci.c
+++ b/drivers/pci/hotplug/rpaphp_pci.c
@@ -51,10 +51,12 @@ static struct pci_bus *find_bus_among_children(struct pci_bus *bus,
51 51
52struct pci_bus *rpaphp_find_pci_bus(struct device_node *dn) 52struct pci_bus *rpaphp_find_pci_bus(struct device_node *dn)
53{ 53{
54 if (!dn->phb || !dn->phb->bus) 54 struct pci_dn *pdn = dn->data;
55
56 if (!pdn || !pdn->phb || !pdn->phb->bus)
55 return NULL; 57 return NULL;
56 58
57 return find_bus_among_children(dn->phb->bus, dn); 59 return find_bus_among_children(pdn->phb->bus, dn);
58} 60}
59EXPORT_SYMBOL_GPL(rpaphp_find_pci_bus); 61EXPORT_SYMBOL_GPL(rpaphp_find_pci_bus);
60 62
@@ -229,7 +231,7 @@ rpaphp_pci_config_slot(struct pci_bus *bus)
229 if (!dn || !dn->child) 231 if (!dn || !dn->child)
230 return NULL; 232 return NULL;
231 233
232 slotno = PCI_SLOT(dn->child->devfn); 234 slotno = PCI_SLOT(PCI_DN(dn->child)->devfn);
233 235
234 /* pci_scan_slot should find all children */ 236 /* pci_scan_slot should find all children */
235 num = pci_scan_slot(bus, PCI_DEVFN(slotno, 0)); 237 num = pci_scan_slot(bus, PCI_DEVFN(slotno, 0));