diff options
Diffstat (limited to 'drivers/acpi')
-rw-r--r-- | drivers/acpi/pci_root.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/drivers/acpi/pci_root.c b/drivers/acpi/pci_root.c index 7aff6312ce7c..c86b39217400 100644 --- a/drivers/acpi/pci_root.c +++ b/drivers/acpi/pci_root.c | |||
@@ -571,8 +571,15 @@ static int __devinit acpi_pci_root_add(struct acpi_device *device) | |||
571 | OSC_CLOCK_PWR_CAPABILITY_SUPPORT; | 571 | OSC_CLOCK_PWR_CAPABILITY_SUPPORT; |
572 | if (pci_msi_enabled()) | 572 | if (pci_msi_enabled()) |
573 | flags |= OSC_MSI_SUPPORT; | 573 | flags |= OSC_MSI_SUPPORT; |
574 | if (flags != base_flags) | 574 | if (flags != base_flags) { |
575 | acpi_pci_osc_support(root, flags); | 575 | status = acpi_pci_osc_support(root, flags); |
576 | if (ACPI_FAILURE(status)) { | ||
577 | dev_info(root->bus->bridge, "ACPI _OSC support " | ||
578 | "notification failed, disabling PCIe ASPM\n"); | ||
579 | pcie_no_aspm(); | ||
580 | flags = base_flags; | ||
581 | } | ||
582 | } | ||
576 | 583 | ||
577 | if (!pcie_ports_disabled | 584 | if (!pcie_ports_disabled |
578 | && (flags & ACPI_PCIE_REQ_SUPPORT) == ACPI_PCIE_REQ_SUPPORT) { | 585 | && (flags & ACPI_PCIE_REQ_SUPPORT) == ACPI_PCIE_REQ_SUPPORT) { |