diff options
-rw-r--r-- | arch/powerpc/kernel/pci_32.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/arch/powerpc/kernel/pci_32.c b/arch/powerpc/kernel/pci_32.c index 5b05a09a6bdf..f022862de344 100644 --- a/arch/powerpc/kernel/pci_32.c +++ b/arch/powerpc/kernel/pci_32.c | |||
@@ -656,10 +656,13 @@ make_one_node_map(struct device_node* node, u8 pci_bus) | |||
656 | reg = of_get_property(node, "reg", NULL); | 656 | reg = of_get_property(node, "reg", NULL); |
657 | if (!reg) | 657 | if (!reg) |
658 | continue; | 658 | continue; |
659 | dev = pci_find_slot(pci_bus, ((reg[0] >> 8) & 0xff)); | 659 | dev = pci_get_bus_and_slot(pci_bus, ((reg[0] >> 8) & 0xff)); |
660 | if (!dev || !dev->subordinate) | 660 | if (!dev || !dev->subordinate) { |
661 | pci_dev_put(dev); | ||
661 | continue; | 662 | continue; |
663 | } | ||
662 | make_one_node_map(node, dev->subordinate->number); | 664 | make_one_node_map(node, dev->subordinate->number); |
665 | pci_dev_put(dev); | ||
663 | } | 666 | } |
664 | } | 667 | } |
665 | 668 | ||