diff options
-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); | |||
514 | */ | 514 | */ |
515 | struct pci_dev *pci_find_pcie_root_port(struct pci_dev *dev) | 515 | struct pci_dev *pci_find_pcie_root_port(struct pci_dev *dev) |
516 | { | 516 | { |
517 | struct pci_dev *bridge, *highest_pcie_bridge = NULL; | 517 | struct pci_dev *bridge, *highest_pcie_bridge = dev; |
518 | 518 | ||
519 | bridge = pci_upstream_bridge(dev); | 519 | bridge = pci_upstream_bridge(dev); |
520 | while (bridge && pci_is_pcie(bridge)) { | 520 | while (bridge && pci_is_pcie(bridge)) { |
@@ -522,11 +522,10 @@ struct pci_dev *pci_find_pcie_root_port(struct pci_dev *dev) | |||
522 | bridge = pci_upstream_bridge(bridge); | 522 | bridge = pci_upstream_bridge(bridge); |
523 | } | 523 | } |
524 | 524 | ||
525 | if (highest_pcie_bridge && | 525 | if (pci_pcie_type(highest_pcie_bridge) != PCI_EXP_TYPE_ROOT_PORT) |
526 | pci_pcie_type(highest_pcie_bridge) == PCI_EXP_TYPE_ROOT_PORT) | 526 | return NULL; |
527 | return highest_pcie_bridge; | ||
528 | 527 | ||
529 | return NULL; | 528 | return highest_pcie_bridge; |
530 | } | 529 | } |
531 | EXPORT_SYMBOL(pci_find_pcie_root_port); | 530 | EXPORT_SYMBOL(pci_find_pcie_root_port); |
532 | 531 | ||