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 <ok...@kernel.org>
Reported-by: Michael Kelley <mikel...@microsoft.com>
---
 drivers/acpi/pci_root.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/acpi/pci_root.c b/drivers/acpi/pci_root.c
index 7433035..e465e72 100644
--- a/drivers/acpi/pci_root.c
+++ b/drivers/acpi/pci_root.c
@@ -455,8 +455,9 @@ 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));
+               dev_info(&device->dev, "_OSC failed (%s)%s\n",
+                        acpi_format_exception(status),
+                        pcie_aspm_support_enabled() ? "; disabling ASPM" : "");
                *no_aspm = 1;
                return;
        }
-- 
2.7.4

Reply via email to