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 <dn...@cachyos.org> Signed-off-by: Mario Limonciello (AMD) <supe...@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