2012-08-04 21:21:45

by Rafael J. Wysocki

[permalink] [raw]
Subject: [Resend][PATCH] PCI / PM: Fix messages printed by acpi_pci_set_power_state()


If a PCI device is put into D3_cold by acpi_bus_set_power(),
the message printed by acpi_pci_set_power_state() says that its
power state has been changed to D4, which doesn't make sense.
In turn, if the device is put into D3_hot, the message simply
says "D3" without specifying the variant of the D3 state.

Fix this by using the pci_power_name() macro for printing the state
name instead of building it from the numeric value corresponding to
the given state directly.

Signed-off-by: Rafael J. Wysocki <[email protected]>
---
drivers/pci/pci-acpi.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Index: linux/drivers/pci/pci-acpi.c
===================================================================
--- linux.orig/drivers/pci/pci-acpi.c
+++ linux/drivers/pci/pci-acpi.c
@@ -266,8 +266,8 @@ static int acpi_pci_set_power_state(stru
}

if (!error)
- dev_printk(KERN_INFO, &dev->dev,
- "power state changed by ACPI to D%d\n", state);
+ dev_info(&dev->dev, "power state changed by ACPI to %s\n",
+ pci_power_name(state));

return error;
}


2012-08-15 19:18:09

by Bjorn Helgaas

[permalink] [raw]
Subject: Re: [Resend][PATCH] PCI / PM: Fix messages printed by acpi_pci_set_power_state()

On Sat, Aug 4, 2012 at 3:27 PM, Rafael J. Wysocki <[email protected]> wrote:
>
> If a PCI device is put into D3_cold by acpi_bus_set_power(),
> the message printed by acpi_pci_set_power_state() says that its
> power state has been changed to D4, which doesn't make sense.
> In turn, if the device is put into D3_hot, the message simply
> says "D3" without specifying the variant of the D3 state.
>
> Fix this by using the pci_power_name() macro for printing the state
> name instead of building it from the numeric value corresponding to
> the given state directly.
>
> Signed-off-by: Rafael J. Wysocki <[email protected]>

Applied to my for-linus branch, since this fixes a minor issue
introduced with the runtime D3cold support we merged for 3.6. Thanks!

> ---
> drivers/pci/pci-acpi.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> Index: linux/drivers/pci/pci-acpi.c
> ===================================================================
> --- linux.orig/drivers/pci/pci-acpi.c
> +++ linux/drivers/pci/pci-acpi.c
> @@ -266,8 +266,8 @@ static int acpi_pci_set_power_state(stru
> }
>
> if (!error)
> - dev_printk(KERN_INFO, &dev->dev,
> - "power state changed by ACPI to D%d\n", state);
> + dev_info(&dev->dev, "power state changed by ACPI to %s\n",
> + pci_power_name(state));
>
> return error;
> }