Patchwork pci: Added quirk to disable msi for MCP55 NIC on Asus P5N32-SLI Premium

login
register
mail settings
Submitter Andreas Petlund
Date Nov. 20, 2008, 2:32 p.m.
Message ID <492574FC.2090701@simula.no>
Download mbox | patch
Permalink /patch/9761/
State Accepted
Delegated to: David Miller
Headers show

Comments

Andreas Petlund - Nov. 20, 2008, 2:32 p.m.
David Miller wrote:
> You can't start calling dmi_*() routines in drivers/pci/quirks.c without
> including linux/dmi.h there, otherwise it doesn't build on some platforms:
> 
> drivers/pci/quirks.c: In function 'nvenet_msi_disable':
> drivers/pci/quirks.c:1837: error: implicit declaration of function 'dmi_name_in_vendors'
> make[1]: *** [drivers/pci/quirks.o] Error 1

Here is an updated version with the missing include.


Signed-off-by: Andreas Petlund <andreas@petlund.no>
---
 drivers/pci/quirks.c |   17 +++++++++++++++++
 1 files changed, 17 insertions(+), 0 deletions(-)
David Miller - Nov. 21, 2008, 4:42 a.m.
From: Andreas Petlund <apetlund@simula.no>
Date: Thu, 20 Nov 2008 15:32:28 +0100

> David Miller wrote:
> > You can't start calling dmi_*() routines in drivers/pci/quirks.c without
> > including linux/dmi.h there, otherwise it doesn't build on some platforms:
> > 
> > drivers/pci/quirks.c: In function 'nvenet_msi_disable':
> > drivers/pci/quirks.c:1837: error: implicit declaration of function 'dmi_name_in_vendors'
> > make[1]: *** [drivers/pci/quirks.o] Error 1
> 
> Here is an updated version with the missing include.
> 
> Signed-off-by: Andreas Petlund <andreas@petlund.no>

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

Patch

diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
index 5049a47..5f4f85f 100644
--- a/drivers/pci/quirks.c
+++ b/drivers/pci/quirks.c
@@ -22,6 +22,7 @@ 
 #include <linux/delay.h>
 #include <linux/acpi.h>
 #include <linux/kallsyms.h>
+#include <linux/dmi.h>
 #include "pci.h"
 
 int isa_dma_bridge_buggy;
@@ -1828,6 +1829,22 @@  DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_SERVERWORKS,
 			 PCI_DEVICE_ID_SERVERWORKS_HT1000_PXB,
 			 ht_enable_msi_mapping);
 
+/* The P5N32-SLI Premium motherboard from Asus has a problem with msi
+ * for the MCP55 NIC. It is not yet determined whether the msi problem
+ * also affects other devices. As for now, turn off msi for this device.
+ */
+static void __devinit nvenet_msi_disable(struct pci_dev *dev)
+{
+	if (dmi_name_in_vendors("P5N32-SLI PREMIUM")) {
+		dev_info(&dev->dev,
+			 "Disabling msi for MCP55 NIC on P5N32-SLI Premium\n");
+		dev->no_msi = 1;
+	}
+}
+DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_NVIDIA,
+			PCI_DEVICE_ID_NVIDIA_NVENET_15,
+			nvenet_msi_disable);
+
 static void __devinit nv_msi_ht_cap_quirk(struct pci_dev *dev)
 {
 	struct pci_dev *host_bridge;