[PATCH 7/8] PCI: check if MSI is enabled before adding _OSC support capability

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



PCI: check if MSI is enabled before adding _OSC support capability

Ensure that pci=nomsi is not set before adding the _OSC support capability
OSC_MSI_SUPPORT to the root bridge.

Signed-off-by: Andrew Patterson <andrew.patterson@xxxxxx>
---

 drivers/acpi/pci_root.c |   20 +++++++++++---------
 1 files changed, 11 insertions(+), 9 deletions(-)


diff --git a/drivers/acpi/pci_root.c b/drivers/acpi/pci_root.c
index 75a59ea..32afd02 100644
--- a/drivers/acpi/pci_root.c
+++ b/drivers/acpi/pci_root.c
@@ -194,6 +194,7 @@ static int __devinit acpi_pci_root_add(struct acpi_device *device)
 	unsigned long long value = 0;
 	acpi_handle handle = NULL;
 	struct acpi_device *child;
+	u32 flags;
 
 
 	if (!device)
@@ -211,17 +212,18 @@ static int __devinit acpi_pci_root_add(struct acpi_device *device)
 
 	device->ops.bind = acpi_pci_bind;
 
-	pci_acpi_osc_support(device->handle,
-			     OSC_EXT_PCI_CONFIG_SUPPORT |
-			     OSC_PCI_SEGMENT_GROUPS_SUPPORT |
-#ifdef CONFIG_PCI_MSI
-			     OSC_MSI_SUPPORT |
-#endif
+	flags = (OSC_EXT_PCI_CONFIG_SUPPORT |
+		 OSC_PCI_SEGMENT_GROUPS_SUPPORT |
 #ifdef CONFIG_PCIEASPM
-			     OSC_ACTIVE_STATE_PWR_SUPPORT |
-			     OSC_CLOCK_PWR_CAPABILITY_SUPPORT |
+		 OSC_ACTIVE_STATE_PWR_SUPPORT |
+		 OSC_CLOCK_PWR_CAPABILITY_SUPPORT |
+#endif
+		 0);
+#ifdef CONFIG_PCI_MSI
+	if (pci_msi_enabled())
+		flags |= OSC_MSI_SUPPORT;
 #endif
-			     0);
+	pci_acpi_osc_support(device->handle, flags);
 
 	/* 
 	 * Segment

--
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux IBM ACPI]     [Linux Power Management]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux