diff options
author | Yijing Wang <wangyijing@huawei.com> | 2015-05-21 15:05:04 +0800 |
---|---|---|
committer | Bjorn Helgaas <bhelgaas@google.com> | 2015-05-29 15:35:26 -0500 |
commit | 777e61ea40e4a94081b3123c76ea3fe977c368a2 (patch) | |
tree | 69f6230aa9f5a8213f3bd0445d6c33251c906aec /drivers/pci/probe.c | |
parent | c8fc9339409df88693742d323819ab8415cd2e9d (diff) | |
download | talos-obmc-linux-777e61ea40e4a94081b3123c76ea3fe977c368a2.tar.gz talos-obmc-linux-777e61ea40e4a94081b3123c76ea3fe977c368a2.zip |
PCI: Use dev->has_secondary_link to find downstream PCIe links
Previously we assumed that PCIe Root Ports and Downstream Ports had Links
on their secondary side. That is true in most systems, but it is possible
to connect a switch with either an Upstream or a Downstream Port leading
downstream.
Instead of relying on the component type to identify devices that have
links leading downstream, use the "dev->has_secondary_link" field.
[bhelgaas: changelog]
Signed-off-by: Yijing Wang <wangyijing@huawei.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Diffstat (limited to 'drivers/pci/probe.c')
-rw-r--r-- | drivers/pci/probe.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c index 96dcd7b8303b..d405d27a92cd 100644 --- a/drivers/pci/probe.c +++ b/drivers/pci/probe.c @@ -1629,7 +1629,7 @@ static int only_one_child(struct pci_bus *bus) return 0; if (pci_pcie_type(parent) == PCI_EXP_TYPE_ROOT_PORT) return 1; - if (pci_pcie_type(parent) == PCI_EXP_TYPE_DOWNSTREAM && + if (parent->has_secondary_link && !pci_has_flag(PCI_SCAN_ALL_PCIE_DEVS)) return 1; return 0; |