pci_set_bus_of_node() sets virtual PCI bus's device node to PHB's device node wrongly. The patch fixes the issue. Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> --- drivers/pci/of.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/pci/of.c b/drivers/pci/of.c index f092993..7b2256b 100644 --- a/drivers/pci/of.c +++ b/drivers/pci/of.c @@ -31,9 +31,9 @@ void pci_release_of_node(struct pci_dev *dev) void pci_set_bus_of_node(struct pci_bus *bus) { - if (bus->self == NULL) + if (pci_is_root_bus(bus)) bus->dev.of_node = pcibios_get_phb_of_node(bus); - else + else if (bus->self) bus->dev.of_node = of_node_get(bus->self->dev.of_node); } -- 1.8.3.2 -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html