]> git.baikalelectronics.ru Git - kernel.git/commit
PCI: Make pcie_find_root_port() work for Root Ports
authorMika Westerberg <mika.westerberg@linux.intel.com>
Mon, 22 Jun 2020 16:12:48 +0000 (19:12 +0300)
committerBjorn Helgaas <bhelgaas@google.com>
Tue, 30 Jun 2020 21:58:27 +0000 (16:58 -0500)
commit4fee87dd09cce7d3d6ef7e5cd4d4ccd8cd225898
tree82f69eacb9b6f73c3f4eeb8f2072778a0739c3a0
parent74a27a5f5a99e6b5adfd790053b6cccac3270c76
PCI: Make pcie_find_root_port() work for Root Ports

Commit c32c30c154e4 ("PCI: Unify pcie_find_root_port() and
pci_find_pcie_root_port()") broke acpi_pci_bridge_d3() because calling
pcie_find_root_port() on a Root Port returned NULL when it should return
the Root Port, which in turn broke power management of PCIe hierarchies.

Rework pcie_find_root_port() so it returns its argument when it is already
a Root Port.

[bhelgaas: test device only once, test for PCIe]
Fixes: c32c30c154e4 ("PCI: Unify pcie_find_root_port() and pci_find_pcie_root_port()")
Link: https://lore.kernel.org/r/20200622161248.51099-1-mika.westerberg@linux.intel.com
Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
include/linux/pci.h