summaryrefslogtreecommitdiffstats
path: root/arch/powerpc/kernel/pci_of_scan.c
diff options
context:
space:
mode:
authorGrant Likely <grant.likely@secretlab.ca>2010-08-18 08:27:55 +0000
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>2010-08-24 15:28:27 +1000
commit76ec01dbb70353928a9cee826502073ae928bbba (patch)
tree1778622e12a70290a173f19a9c25b20c6a0cb4b9 /arch/powerpc/kernel/pci_of_scan.c
parentc686ecf5040d287a68d4fca7f1948472f556a6d3 (diff)
powerpc/pci: Fix checking for child bridges in PCI code.
pci_device_to_OF_node() can return null, and list_for_each_entry will never enter the loop when dev is NULL, so it looks like this test is a typo. Reported-by: Julia Lawall <julia@diku.dk> Signed-off-by: Grant Likely <grant.likely@secretlab.ca> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Diffstat (limited to 'arch/powerpc/kernel/pci_of_scan.c')
-rw-r--r--arch/powerpc/kernel/pci_of_scan.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/powerpc/kernel/pci_of_scan.c b/arch/powerpc/kernel/pci_of_scan.c
index 62dd363a976..e751506323b 100644
--- a/arch/powerpc/kernel/pci_of_scan.c
+++ b/arch/powerpc/kernel/pci_of_scan.c
@@ -336,7 +336,8 @@ static void __devinit __of_scan_bus(struct device_node *node,
if (dev->hdr_type == PCI_HEADER_TYPE_BRIDGE ||
dev->hdr_type == PCI_HEADER_TYPE_CARDBUS) {
struct device_node *child = pci_device_to_OF_node(dev);
- of_scan_pci_bridge(child, dev);
+ if (child)
+ of_scan_pci_bridge(child, dev);
}
}
}