[PATCH v6 08/11] PCI: PM: Use pci_power_manageable() in pci_pm_poweroff_noirq()

Mario Limonciello (AMD)
2025-08-18T02:01:29Z

Devices with no subordinate should be put into D3 during hibernate, but
devices that have bridge_d3 set should also be put to sleep during
hibernate. Adjust the check in pci_pm_poweroff_noirq() to use
pci_power_manageable() to cover those as well.

Tested-by: Eric Naim <dnaim@cachyos.org>
Signed-off-by: Mario Limonciello (AMD) <superm1@kernel.org>
---
v5:
* Split out patch
---
drivers/pci/pci-driver.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/pci/pci-driver.c b/drivers/pci/pci-driver.c
index fb6f1f60b2f1f..c563fd6af979d 100644
--- a/drivers/pci/pci-driver.c
+++ b/drivers/pci/pci-driver.c
@@ -1227,7 +1227,7 @@ static int pci_pm_poweroff_noirq(struct device *dev)
return error;
}

- if (!pci_dev->state_saved && !pci_has_subordinate(pci_dev))
+ if (!pci_dev->state_saved && pci_power_manageable(pci_dev))
pci_prepare_to_sleep(pci_dev);

/*
--
2.43.0