diff options
author | Wolfram Sang <wsa@kernel.org> | 2020-07-31 15:54:27 +0200 |
---|---|---|
committer | Wolfram Sang <wsa@kernel.org> | 2020-07-31 15:54:27 +0200 |
commit | 073d398dc4841f62488ac6060ffeb9dfce6e0a98 (patch) | |
tree | 2ae9d508d0cd27f02584b9befb063dda5cb11a0b /include/linux/pci.h | |
parent | afca861bc6a3141c858d08279eb9afca76584fa6 (diff) | |
parent | 92ed301919932f777713b9172e525674157e983d (diff) |
Merge tag 'v5.8-rc7' into i2c/for-5.9
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; |