PCI: Assume all Mellanox devices have broken INTx masking
authorGavin Shan <gwshan@linux.vnet.ibm.com>
Fri, 5 Sep 2014 21:35:30 +0000 (15:35 -0600)
committerBjorn Helgaas <bhelgaas@google.com>
Mon, 8 Sep 2014 17:06:13 +0000 (11:06 -0600)
commit11e42532ada3174840196e8f23df29cb91c44b50
tree2de972f8413abde8b11e37aa24030151780c2a5c
parent52addcf9d6669fa439387610bc65c92fa0980cef
PCI: Assume all Mellanox devices have broken INTx masking

The VFIO driver routes LSI interrupts by capturing, masking, and then
delivering.  When passing though Mellanox adapters from host to guest,
interrupt storm are reported from host and guest.  That's because the PCI
command register INTx Disable bit doesn't work on Mellanox devices.

  # lspci | grep Mellanox
  0001:05:00.0 Ethernet controller: Mellanox Technologies MT27500 Family [ConnectX-3]
  0005:01:00.0 Ethernet controller: Mellanox Technologies MT26448 [ConnectX EN 10GigE, PCIe 2.0 5GT/s] (rev b0)

Amir Vadai confirmed that all Mellanox devices have same problem.
The patch marks broken INTx masking for all Mellanox adapters.

Suggested-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Gavin Shan <gwshan@linux.vnet.ibm.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Acked-By: Amir Vadai <amirv@mellanox.com>
drivers/pci/quirks.c