|
@@ -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);
|
|
|
|