From: Rafael J. Wysocki <[email protected]>
If PCI_D3cold is passed to acpi_pci_set_power_state() as the second
argument and there is no ACPI D3cold support for the given device,
the debug message printed by that function will state that the
device power state has been changed to D3cold, while in fact it
will be D3hot, because acpi_device_set_power() falls back to D3hot
automatically if D3cold is not supported without returning an error.
To address this issue, modify the debug message in question to print
the current power state of the target PCI device's ACPI companion
instead of printing the target power state which may not reflect
the real final power state of the device.
Signed-off-by: Rafael J. Wysocki <[email protected]>
---
drivers/pci/pci-acpi.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Index: linux-pm/drivers/pci/pci-acpi.c
===================================================================
--- linux-pm.orig/drivers/pci/pci-acpi.c
+++ linux-pm/drivers/pci/pci-acpi.c
@@ -1021,7 +1021,7 @@ static int acpi_pci_set_power_state(stru
if (!error)
pci_dbg(dev, "power state changed by ACPI to %s\n",
- acpi_power_state_string(state_conv[state]));
+ acpi_power_state_string(adev->power.state));
return error;
}
Hi,
[...]
> To address this issue, modify the debug message in question to print
> the current power state of the target PCI device's ACPI companion
> instead of printing the target power state which may not reflect
> the real final power state of the device.
[...]
Thank you!
Reviewed-by: Krzysztof Wilczyński <[email protected]>
Krzysztof
On Thu, Mar 25, 2021 at 07:57:51PM +0100, Rafael J. Wysocki wrote:
> From: Rafael J. Wysocki <[email protected]>
>
> If PCI_D3cold is passed to acpi_pci_set_power_state() as the second
> argument and there is no ACPI D3cold support for the given device,
> the debug message printed by that function will state that the
> device power state has been changed to D3cold, while in fact it
> will be D3hot, because acpi_device_set_power() falls back to D3hot
> automatically if D3cold is not supported without returning an error.
>
> To address this issue, modify the debug message in question to print
> the current power state of the target PCI device's ACPI companion
> instead of printing the target power state which may not reflect
> the real final power state of the device.
>
> Signed-off-by: Rafael J. Wysocki <[email protected]>
Applied with Krzysztof's reviewed-by to pci/pm for v5.13, thanks!
Let me know if you have nearby or related changes that you'd rather
take via your tree.
> ---
> drivers/pci/pci-acpi.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> Index: linux-pm/drivers/pci/pci-acpi.c
> ===================================================================
> --- linux-pm.orig/drivers/pci/pci-acpi.c
> +++ linux-pm/drivers/pci/pci-acpi.c
> @@ -1021,7 +1021,7 @@ static int acpi_pci_set_power_state(stru
>
> if (!error)
> pci_dbg(dev, "power state changed by ACPI to %s\n",
> - acpi_power_state_string(state_conv[state]));
> + acpi_power_state_string(adev->power.state));
>
> return error;
> }
>
>
>
On Wed, Mar 31, 2021 at 11:09 PM Bjorn Helgaas <[email protected]> wrote:
>
> On Thu, Mar 25, 2021 at 07:57:51PM +0100, Rafael J. Wysocki wrote:
> > From: Rafael J. Wysocki <[email protected]>
> >
> > If PCI_D3cold is passed to acpi_pci_set_power_state() as the second
> > argument and there is no ACPI D3cold support for the given device,
> > the debug message printed by that function will state that the
> > device power state has been changed to D3cold, while in fact it
> > will be D3hot, because acpi_device_set_power() falls back to D3hot
> > automatically if D3cold is not supported without returning an error.
> >
> > To address this issue, modify the debug message in question to print
> > the current power state of the target PCI device's ACPI companion
> > instead of printing the target power state which may not reflect
> > the real final power state of the device.
> >
> > Signed-off-by: Rafael J. Wysocki <[email protected]>
>
> Applied with Krzysztof's reviewed-by to pci/pm for v5.13, thanks!
>
> Let me know if you have nearby or related changes that you'd rather
> take via your tree.
I don't have any, thank you!