PCI: add Chelsio T310 10GbE NIC broken INTx masking quirk
authorJan Kiszka <jan.kiszka@siemens.com>
Thu, 7 Jun 2012 08:30:59 +0000 (10:30 +0200)
committerBjorn Helgaas <bhelgaas@google.com>
Mon, 18 Jun 2012 17:48:13 +0000 (11:48 -0600)
According to

http://thread.gmane.org/gmane.comp.emulators.kvm.devel/91388

the T310 does not properly support INTx masking as it fails to keep the
PCI_STATUS_INTERRUPT bit updated once the interrupt is masked. Mark this
adapter as broken so that pci_intx_mask_supported won't report it as
compatible.

[bhelgaas: use HEADER, not FINAL, which is currently broken for hotplug]
Tested-by: Alexey Kardashevskiy <aik@ozlabs.ru>
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
drivers/pci/quirks.c

index cc13415..b2b66d2 100644 (file)
@@ -2938,6 +2938,8 @@ static void __devinit quirk_broken_intx_masking(struct pci_dev *dev)
 {
        dev->broken_intx_masking = 1;
 }
+DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_CHELSIO, 0x0030,
+                        quirk_broken_intx_masking);
 
 static void pci_do_fixups(struct pci_dev *dev, struct pci_fixup *f,
                          struct pci_fixup *end)