Re: [PATCH 1/2] PCI/ACPI: correct error message for ASPM disabling

From: Joe Perches
Date: Thu Aug 09 2018 - 20:27:50 EST


On Thu, 2018-08-09 at 18:46 +0000, Sinan Kaya wrote:
> If _OSC execution fails today for platforms without an _OSC
> entry, code is printing a misleading message saying disabling
> ASPM as follows:
>
> acpi PNP0A03:00: _OSC failed (AE_NOT_FOUND); disabling ASPM
>
> We need to ensure that platform supports ASPM to begin with.
>
> Signed-off-by: Sinan Kaya <okaya@xxxxxxxxxx>
> Reported-by: Michael Kelley <mikelley@xxxxxxxxxxxxx>
> ---
> drivers/acpi/pci_root.c | 9 +++++++--
> 1 file changed, 7 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/acpi/pci_root.c b/drivers/acpi/pci_root.c
[]
> @@ -455,8 +455,13 @@ static void negotiate_os_control(struct acpi_pci_root *root, int *no_aspm)
> decode_osc_support(root, "OS supports", support);
> status = acpi_pci_osc_support(root, support);
> if (ACPI_FAILURE(status)) {
> - dev_info(&device->dev, "_OSC failed (%s); disabling ASPM\n",
> - acpi_format_exception(status));
> + char *aspm_msg = "";
> +
> + if (pcie_aspm_support_enabled())
> + aspm_msg = "; disabling ASPM";
> +
> + dev_info(&device->dev, "_OSC failed (%s) %s\n",
> + acpi_format_exception(status), aspm_msg);

I think this would read better not using a temporary and
using a ternary instead.

dev_info(&device->dev, "_OSC failed (%s)%s\n",
acpi_format_exception(status),
pcie_aspm_support_enabled() ? "; disabling ASPM" : "");

> *no_aspm = 1;
> return;
> }