Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 75e07fc3 authored by Andreas Petlund's avatar Andreas Petlund Committed by David S. Miller
Browse files

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

parent 13d428af
Loading
Loading
Loading
Loading
+17 −0
Original line number Original line Diff line number Diff line
@@ -22,6 +22,7 @@
#include <linux/delay.h>
#include <linux/delay.h>
#include <linux/acpi.h>
#include <linux/acpi.h>
#include <linux/kallsyms.h>
#include <linux/kallsyms.h>
#include <linux/dmi.h>
#include "pci.h"
#include "pci.h"


int isa_dma_bridge_buggy;
int isa_dma_bridge_buggy;
@@ -1828,6 +1829,22 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_SERVERWORKS,
			 PCI_DEVICE_ID_SERVERWORKS_HT1000_PXB,
			 PCI_DEVICE_ID_SERVERWORKS_HT1000_PXB,
			 ht_enable_msi_mapping);
			 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)
static void __devinit nv_msi_ht_cap_quirk(struct pci_dev *dev)
{
{
	struct pci_dev *host_bridge;
	struct pci_dev *host_bridge;