PCI: Use pci_is_root_bus() to check for root bus
authorWei Yang <weiyang@linux.vnet.ibm.com>
Fri, 6 Sep 2013 01:45:56 +0000 (09:45 +0800)
committerBjorn Helgaas <bhelgaas@google.com>
Wed, 25 Sep 2013 21:43:48 +0000 (15:43 -0600)
In __pci_bus_size_bridges() we check whether a bus is a root bus by testing
bus->self.  As indicated by commit 79af72d7 ("PCI: pci_is_root_bus
helper"), bus->self == NULL is not a proper way to check for a root bus.
One issue is that "virtual" buses added for SR-IOV (via virtfn_add_bus())
have bus->self == NULL but are not root buses.

This patch changes it to pci_is_root_bus() to check whether it is a root
bus.

[bhelgaas: changelog]
Signed-off-by: Wei Yang <weiyang@linux.vnet.ibm.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
drivers/pci/setup-bus.c

index bc26d7990cc3744512c717540565b7c0dfa557ad..8df686c48bd12df3b367015948d8e4445305a9ea 100644 (file)
@@ -1136,7 +1136,7 @@ void __ref __pci_bus_size_bridges(struct pci_bus *bus,
        }
 
        /* The root bus? */
-       if (!bus->self)
+       if (pci_is_root_bus(bus))
                return;
 
        switch (bus->self->class >> 8) {