On Thu, Dec 14, 2017 at 05:12:59AM -0800, John Strader wrote: > Submitting a device for quirk_broken_intx_masking, as requested by > modinfo for vfio-pci "nointxmask" parameter. > > The device is a Ceton InfiniTV4 [1b7c:0004]. I can confirm that this > device operates correctly with vfio when passed the nointxmask > parameter. I can also confirm that applying quirk_broken_intx_masking > via drivers/pci/quirks.c in a custom compiled kernel also works. I no > longer compile the custom kernel and seem to have misplaced the patch, > so I won't bother remaking a one-liner, but it was of the standard form: > > DECLARE_PCI_FIXUP_FINAL(0x1b7c, 0x0004, > quirk_broken_intx_masking); Thanks for your report! I applied the patch below to pci/virtualization for v4.16. commit 7f50dcad8de026d7533a0d1295a27d843ce965aa Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Fri Dec 15 14:51:44 2017 -0600 PCI: Mark Ceton InfiniTV4 INTx masking as broken PCI_COMMAND_INTX_DISABLE is writable on the Ceton InfiniTV4, indicating that the device supports disabling the INTx# signal, but it apparently doesn't work. Mark the device so we know we can't use PCI_COMMAND_INTX_DISABLE to disable its interrupts. Link: https://lkml.kernel.org/r/92a65068-60b2-c1a8-9e17-ac41fe3c5c93@xxxxxxxxxxxxxxx Reported-by: John Strader <strader.john@xxxxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c index 10684b17d0bd..bb9737ec64b5 100644 --- a/drivers/pci/quirks.c +++ b/drivers/pci/quirks.c @@ -3215,6 +3215,8 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_CHELSIO, 0x0030, quirk_broken_intx_masking); DECLARE_PCI_FIXUP_FINAL(0x1814, 0x0601, /* Ralink RT2800 802.11n PCI */ quirk_broken_intx_masking); +DECLARE_PCI_FIXUP_FINAL(0x1b7c, 0x0004, /* Ceton InfiniTV4 */ + quirk_broken_intx_masking); /* * Realtek RTL8169 PCI Gigabit Ethernet Controller (rev 10)