acpi_pci_bridge_d3() only runs on hotplug bridges. Two checks are made for _S0W and for whether a device is power manageable contingent upon an ACPI companion being present. These checks also make sense for non-hotplug bridges, so move the check for hotplug bridge after the acpi companion checks. Signed-off-by: Mario Limonciello <mario.limonciello@xxxxxxx> --- drivers/pci/pci-acpi.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/pci/pci-acpi.c b/drivers/pci/pci-acpi.c index b5b65cdfa3b8b..64e6ada024235 100644 --- a/drivers/pci/pci-acpi.c +++ b/drivers/pci/pci-acpi.c @@ -1017,7 +1017,7 @@ bool acpi_pci_bridge_d3(struct pci_dev *dev) struct acpi_device *adev, *rpadev; const union acpi_object *obj; - if (acpi_pci_disabled || !dev->is_hotplug_bridge) + if (acpi_pci_disabled) return false; adev = ACPI_COMPANION(&dev->dev); @@ -1039,6 +1039,9 @@ bool acpi_pci_bridge_d3(struct pci_dev *dev) return true; } + if (!dev->is_hotplug_bridge) + return false; + rpdev = pcie_find_root_port(dev); if (!rpdev) return false; -- 2.34.1