PCI: ACPI: PM: Fix debug message in acpi_pci_set_power_state()
diff mbox series

Message ID 4319486.LvFx2qVVIh@kreacher
State Accepted
Commit 693978527c17e6234918f40b157c740f5632c102
Headers show
Series
  • PCI: ACPI: PM: Fix debug message in acpi_pci_set_power_state()
Related show

Commit Message

Rafael J. Wysocki March 25, 2021, 6:57 p.m. UTC
From: Rafael J. Wysocki <rafael.j.wysocki@intel.com>

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 <rafael.j.wysocki@intel.com>
---
 drivers/pci/pci-acpi.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Krzysztof Wilczyński March 26, 2021, 6:40 a.m. UTC | #1
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 <kw@linux.com>

Krzysztof
Bjorn Helgaas March 31, 2021, 9:08 p.m. UTC | #2
On Thu, Mar 25, 2021 at 07:57:51PM +0100, Rafael J. Wysocki wrote:
> From: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
> 
> 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 <rafael.j.wysocki@intel.com>

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;
>  }
> 
> 
>
Rafael J. Wysocki April 1, 2021, 10:46 a.m. UTC | #3
On Wed, Mar 31, 2021 at 11:09 PM Bjorn Helgaas <helgaas@kernel.org> wrote:
>
> On Thu, Mar 25, 2021 at 07:57:51PM +0100, Rafael J. Wysocki wrote:
> > From: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
> >
> > 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 <rafael.j.wysocki@intel.com>
>
> 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!

Patch
diff mbox series

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;
 }