Skip to contentSkip to conversation

PCI: Do not run NVidia quirks related to MSI with MSI disabled

PATCH Applied Rafael J. Wysocki 2 participants 2 messages Jul 23, 2010 – Jul 30, 2010 PCI

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 PCI: Do not run NVidia quirks related to MSI with MSI disabled

From: Rafael J. Wysocki <[email protected]>

There is no reason to run NVidia-specific quirks related to HT MSI mappings with MSI disabled via pci=nomsi, so make __nv_msi_ht_cap_quirk() return immediately in that case.

This allows at least one machine to boot 100% of the time with pci=nomsi (it still doesn't boot reliably without that).

Addresses https://bugzilla.kernel.org/show_bug.cgi?id=16443 .

---
 drivers/pci/quirks.c |    3 +++
 1 file changed, 3 insertions(+)
drivers/pci/quirks.c +3 -0
Index: linux-2.6/drivers/pci/quirks.c
===================================================================
@@ -2390,6 +2390,9 @@ static void __devinit __nv_msi_ht_cap_qu
 	int pos;
 	int found;
 
+	if (!pci_msi_enabled())
+		return;
+
 	/* check if there is HT MSI cap or enabled on this device */
 	found = ht_check_msi_mapping(dev);
 
Applied
#1 lore raw
Quoted 21 lines · On Fri, 23 Jul 2010 22:19:55 +0200 "Rafael J. Wysocki" <[email protected]> wrote:

From: Rafael J. Wysocki <[email protected]>

There is no reason to run NVidia-specific quirks related to HT MSI mappings with MSI disabled via pci=nomsi, so make __nv_msi_ht_cap_quirk() return immediately in that case.

This allows at least one machine to boot 100% of the time with pci=nomsi (it still doesn't boot reliably without that).

Addresses https://bugzilla.kernel.org/show_bug.cgi?id=16443 .

---
 drivers/pci/quirks.c |    3 +++
 1 file changed, 3 insertions(+)

Index: linux-2.6/drivers/pci/quirks.c
===================================================================

drivers/pci/quirks.c static void __devinit __nv_msi_ht_cap_qu · line 2397

Quoted 8 lines
drivers/pci/quirks.c +3 -0
@@ -2390,6 +2390,9 @@ static void __devinit __nv_msi_ht_cap_qu
 	int pos;
 	int found;
 
+	if (!pci_msi_enabled())
+		return;
+
 	/* check if there is HT MSI cap or enabled on this device */
 	found = ht_check_msi_mapping(dev);

applied to linux-next with a cc: stable. Thanks.

Signature · 1 line
Jesse Barnes, Intel Open Source Technology Center