diff options
| author | 2020-07-20 09:43:40 +0200 | |
|---|---|---|
| committer | 2020-07-20 09:43:40 +0200 | |
| commit | c4d41d00552754cc8cdd66a52da9b7c203884d49 (patch) | |
| tree | 60be0f3d543ad6d300a033d91dc313bc595cd737 /include/linux/pci.h | |
| parent | hpilo: Replace one-element array with flexible-array member (diff) | |
| parent | Linux 5.8-rc6 (diff) | |
| download | wireguard-linux-c4d41d00552754cc8cdd66a52da9b7c203884d49.tar.xz wireguard-linux-c4d41d00552754cc8cdd66a52da9b7c203884d49.zip | |
Merge v5.8-rc6 into char-misc-next
We need the char/misc fixes in here as well.
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'include/linux/pci.h')
| -rw-r--r-- | include/linux/pci.h | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/include/linux/pci.h b/include/linux/pci.h index c79d83304e52..34c1c4f45288 100644 --- a/include/linux/pci.h +++ b/include/linux/pci.h @@ -2169,12 +2169,11 @@ static inline int pci_pcie_type(const struct pci_dev *dev) */ static inline struct pci_dev *pcie_find_root_port(struct pci_dev *dev) { - struct pci_dev *bridge = pci_upstream_bridge(dev); - - while (bridge) { - if (pci_pcie_type(bridge) == PCI_EXP_TYPE_ROOT_PORT) - return bridge; - bridge = pci_upstream_bridge(bridge); + while (dev) { + if (pci_is_pcie(dev) && + pci_pcie_type(dev) == PCI_EXP_TYPE_ROOT_PORT) + return dev; + dev = pci_upstream_bridge(dev); } return NULL; |
