summaryrefslogtreecommitdiffstats
path: root/drivers/acpi/pci_root.c
diff options
context:
space:
mode:
authorBjorn Helgaas <bhelgaas@google.com>2013-09-05 23:07:43 +0200
committerBjorn Helgaas <bhelgaas@google.com>2013-09-24 01:40:47 +0200
commit43613a1fac0eec78de14fecc9de184e1052abac7 (patch)
tree42d9d008bf5ecf4e4e0378d74ced0809b334cf25 /drivers/acpi/pci_root.c
parentPCI/ACPI: Skip _OSC control tests if _OSC support call failed (diff)
downloadlinux-43613a1fac0eec78de14fecc9de184e1052abac7.tar.xz
linux-43613a1fac0eec78de14fecc9de184e1052abac7.zip
PCI/ACPI: Separate out _OSC "PCIe port services disabled" path
Test "pcie_ports_disabled" separately so we can give a better message. Previously we said "Unable to request _OSC control..."; now we'll say "PCIe port services disabled; not requesting _OSC control". "pcie_ports_disabled" is true when CONFIG_PCIEPORTBUS=n or we boot with "pcie_ports=compat". Signed-off-by: Bjorn Helgaas <bhelgaas@google.com> Acked-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Diffstat (limited to 'drivers/acpi/pci_root.c')
-rw-r--r--drivers/acpi/pci_root.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/acpi/pci_root.c b/drivers/acpi/pci_root.c
index 67cc43a134ad..68e5a187e784 100644
--- a/drivers/acpi/pci_root.c
+++ b/drivers/acpi/pci_root.c
@@ -387,8 +387,12 @@ static void negotiate_os_control(struct acpi_pci_root *root, int *no_aspm,
return;
}
- if (!pcie_ports_disabled
- && (support & ACPI_PCIE_REQ_SUPPORT) == ACPI_PCIE_REQ_SUPPORT) {
+ if (pcie_ports_disabled) {
+ dev_info(&device->dev, "PCIe port services disabled; not requesting _OSC control\n");
+ return;
+ }
+
+ if ((support & ACPI_PCIE_REQ_SUPPORT) == ACPI_PCIE_REQ_SUPPORT) {
control = OSC_PCI_EXPRESS_CAPABILITY_CONTROL
| OSC_PCI_EXPRESS_NATIVE_HP_CONTROL
| OSC_PCI_EXPRESS_PME_CONTROL;