aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/pci
diff options
context:
space:
mode:
authorJan Kiszka <jan.kiszka@siemens.com>2012-06-07 04:30:59 -0400
committerBjorn Helgaas <bhelgaas@google.com>2012-06-18 13:48:13 -0400
commitde509f9f08726077ffd2f2d5e4b63e17cb516938 (patch)
treea51dabf0d966d1c2994cbb3b083d9f6af4e731f2 /drivers/pci
parentfbebb9fd22581b6422d60669c4ff86ce99d6cdba (diff)
PCI: add Chelsio T310 10GbE NIC broken INTx masking quirk
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>
Diffstat (limited to 'drivers/pci')
-rw-r--r--drivers/pci/quirks.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
index cc13415416d..b2b66d21105 100644
--- a/drivers/pci/quirks.c
+++ b/drivers/pci/quirks.c
@@ -2938,6 +2938,8 @@ static void __devinit quirk_broken_intx_masking(struct pci_dev *dev)
2938{ 2938{
2939 dev->broken_intx_masking = 1; 2939 dev->broken_intx_masking = 1;
2940} 2940}
2941DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_CHELSIO, 0x0030,
2942 quirk_broken_intx_masking);
2941 2943
2942static void pci_do_fixups(struct pci_dev *dev, struct pci_fixup *f, 2944static void pci_do_fixups(struct pci_dev *dev, struct pci_fixup *f,
2943 struct pci_fixup *end) 2945 struct pci_fixup *end)