diff options
| author | Ingo Molnar <mingo@kernel.org> | 2017-08-29 11:42:07 +0200 |
|---|---|---|
| committer | Ingo Molnar <mingo@kernel.org> | 2017-08-29 11:42:07 +0200 |
| commit | 416b0c0faf634abc09568885cb95266ce669c606 (patch) | |
| tree | bf63b94f57246fbf264c93bfdd6233395b07ef89 /drivers/pci/pci.c | |
| parent | c0bb80cfa3c37fd92f066e328d83656067519a5f (diff) | |
| parent | 9c3a815f471a84811cf8021cf64aae3b8081dfde (diff) | |
| download | linux-416b0c0faf634abc09568885cb95266ce669c606.tar.gz linux-416b0c0faf634abc09568885cb95266ce669c606.tar.bz2 linux-416b0c0faf634abc09568885cb95266ce669c606.zip | |
Merge branch 'linus' into x86/apic, to pick up fixes
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'drivers/pci/pci.c')
| -rw-r--r-- | drivers/pci/pci.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c index da5570cf5c6a..fdf65a6c13f6 100644 --- a/drivers/pci/pci.c +++ b/drivers/pci/pci.c @@ -514,7 +514,7 @@ EXPORT_SYMBOL(pci_find_resource); */ struct pci_dev *pci_find_pcie_root_port(struct pci_dev *dev) { - struct pci_dev *bridge, *highest_pcie_bridge = NULL; + struct pci_dev *bridge, *highest_pcie_bridge = dev; bridge = pci_upstream_bridge(dev); while (bridge && pci_is_pcie(bridge)) { @@ -522,11 +522,10 @@ struct pci_dev *pci_find_pcie_root_port(struct pci_dev *dev) bridge = pci_upstream_bridge(bridge); } - if (highest_pcie_bridge && - pci_pcie_type(highest_pcie_bridge) == PCI_EXP_TYPE_ROOT_PORT) - return highest_pcie_bridge; + if (pci_pcie_type(highest_pcie_bridge) != PCI_EXP_TYPE_ROOT_PORT) + return NULL; - return NULL; + return highest_pcie_bridge; } EXPORT_SYMBOL(pci_find_pcie_root_port); |
