powerpc/pci: Fix checking for child bridges in PCI code.
authorGrant Likely <grant.likely@secretlab.ca>
Wed, 18 Aug 2010 08:27:55 +0000 (08:27 +0000)
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>
Tue, 24 Aug 2010 05:28:27 +0000 (15:28 +1000)
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>
arch/powerpc/kernel/pci_of_scan.c

index 62dd363a976295f056dd65d1a444cb55b0ec8e59..e751506323b4509bf04abefb266a6435173a307f 100644 (file)
@@ -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);
                }
        }
 }