On Thu, May 01, 2014 at 02:36:31PM -0600, Alex Williamson wrote: > INTx masking does not work on this device. To see this, configure > the network device UP on an active network, note that the interrupt > count continues to increment for the device in /proc/interrupts. Use > setpci to set the PCI_COMMAND_INTX_DISABLE bit in the PCI_COMMAND > register. As expected, the interrupt count ceases to increment. > However, reading the PCI_STATUS_INTERRUPT bit of the PCI_STATUS > register does not indicate that interrupts are pending and clearing > PCI_COMMAND_INTX_DISABLE in the PCI_COMMAND register does not allow > the device to continue operation. > > This does not affect operation of the host r8169 driver, but it does > prevent the device from being functional when assigned to a VM, such > as with QEMU and VFIO. The guest driver successfully probes the > device, but there is no traffic. Mark INTx masking as broken, > allowing the more restrictive APIC masking to be used instead. > > Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Applied to pci/virtualization for v3.16, thanks. > --- > drivers/pci/quirks.c | 8 ++++++++ > 1 file changed, 8 insertions(+) > > diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c > index ea55b0f..e15a5da 100644 > --- a/drivers/pci/quirks.c > +++ b/drivers/pci/quirks.c > @@ -2991,6 +2991,14 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_CHELSIO, 0x0030, > quirk_broken_intx_masking); > DECLARE_PCI_FIXUP_HEADER(0x1814, 0x0601, /* Ralink RT2800 802.11n PCI */ > quirk_broken_intx_masking); > +/* > + * Realtek RTL8169 PCI Gigabit Ethernet Controller (rev 10) > + * Subsystem: Realtek RTL8169/8110 Family PCI Gigabit Ethernet NIC > + * > + * RTL8110SC - Fails under PCI device assignment using DisINTx masking. > + */ > +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_REALTEK, 0x8169, > + quirk_broken_intx_masking); > > static void pci_do_fixups(struct pci_dev *dev, struct pci_fixup *f, > struct pci_fixup *end) > > -- > To unsubscribe from this list: send the line "unsubscribe linux-pci" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html