diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c index 65d6f23..801712f 100644 --- a/drivers/pci/quirks.c +++ b/drivers/pci/quirks.c @@ -1690,6 +1690,14 @@ static void __devinit quirk_p64h2_1k_io(struct pci_dev *dev) } DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x1460, quirk_p64h2_1k_io); +/* Give unknown D-Link adapters a proper class */ +static void __devinit quirk_dlink_unknown(struct pci_dev *dev) +{ + if (dev->class = PCI_CLASS_UNKNOWN) + dev->class = PCI_CLASS_NETWORK_ETHERNET; +} +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_DLINK, 0x4901, quirk_dlink_unknown); + /* Fix the IOBL_ADR for 1k I/O space granularity on the Intel P64H2 * The IOBL_ADR gets re-written to 4k boundaries in pci_setup_bridge() * in drivers/pci/setup-bus.c