]> git.karo-electronics.de Git - karo-tx-linux.git/commit
vfio: Fix PCI INTx disable consistency
authorAlex Williamson <alex.williamson@redhat.com>
Thu, 4 Oct 2012 16:17:23 +0000 (10:17 -0600)
committerAlex Williamson <alex.williamson@redhat.com>
Thu, 4 Oct 2012 16:17:23 +0000 (10:17 -0600)
commitf448d3180efb70942f91e458ced9395291057a1c
treeb253e8130dbf1be029056fe39d33170b293cfe3e
parent47975d1e3954cf16ee95d70bf1c0c53c2c93d8cd
vfio: Fix PCI INTx disable consistency

The virq_disabled flag tracks the userspace view of INTx masking
across interrupt mode changes, but we're not consistently applying
this to the interrupt and masking handler notion of the device.
Currently if the user sets DisINTx while in MSI or MSIX mode, then
returns to INTx mode (ex. rebooting a qemu guest), the hardware has
DisINTx+, but the management of INTx thinks it's enabled, making it
impossible to actually clear DisINTx.  Fix this by updating the
handler state when INTx is re-enabled.

Cc: stable@vger.kernel.org
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
drivers/vfio/pci/vfio_pci_intrs.c