From: Jiri Kosina PCI: nVidia's MCP61 ethernet card needs quirk for wrong class The MCP61 ethernet controller from nVidia (NVENET_19) contains wrong PCI class: 00:07.0 Bridge [0680]: nVidia Corporation MCP61 Ethernet [10de:03ef] (rev a2) i.e. it identifies itself as a bridge. Fix this. Signed-off-by: Jiri Kosina diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c index 50f2dd9..fbf6a89 100644 --- a/drivers/pci/quirks.c +++ b/drivers/pci/quirks.c @@ -1511,6 +1511,13 @@ static void __devinit fixup_rev1_53c810(struct pci_dev* dev) } DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_NCR, PCI_DEVICE_ID_NCR_53C810, fixup_rev1_53c810); +/* nVidia's MCP61 ethernet card has wrong PCI class (0x0680) */ +static void __devinit fixup_nvenet_19(struct pci_dev *dev) +{ + dev->class = PCI_CLASS_NETWORK_ETHERNET << 8; +} +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_NVENET_19, fixup_nvenet_19); + static void pci_do_fixups(struct pci_dev *dev, struct pci_fixup *f, struct pci_fixup *end) { while (f < end) {