• Alex Williamson's avatar
    PCI: Mark RTL8110SC INTx masking as broken · 3cb30b73
    Alex Williamson authored
    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: default avatarAlex Williamson <alex.williamson@redhat.com>
    Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
    3cb30b73
quirks.c 125 KB