diff options
author | Jan Kiszka <jan.kiszka@siemens.com> | 2012-06-07 04:30:59 -0400 |
---|---|---|
committer | Bjorn Helgaas <bhelgaas@google.com> | 2012-06-18 13:48:13 -0400 |
commit | de509f9f08726077ffd2f2d5e4b63e17cb516938 (patch) | |
tree | a51dabf0d966d1c2994cbb3b083d9f6af4e731f2 /drivers/pci | |
parent | fbebb9fd22581b6422d60669c4ff86ce99d6cdba (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.c | 2 |
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 | } |
2941 | DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_CHELSIO, 0x0030, | ||
2942 | quirk_broken_intx_masking); | ||
2941 | 2943 | ||
2942 | static void pci_do_fixups(struct pci_dev *dev, struct pci_fixup *f, | 2944 | static void pci_do_fixups(struct pci_dev *dev, struct pci_fixup *f, |
2943 | struct pci_fixup *end) | 2945 | struct pci_fixup *end) |