]> git.kernelconcepts.de Git - karo-tx-linux.git/commit
vfio: Fix PCI INTx disable consistency
authorAlex Williamson <alex.williamson@redhat.com>
Wed, 10 Oct 2012 15:10:32 +0000 (09:10 -0600)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 21 Oct 2012 16:32:40 +0000 (09:32 -0700)
commit69c7c6695e93be50b4984a28b838a8dea0fd143b
tree919a7b6b2997a3d89aeae6578273e12980a8e0c9
parent7c1af9af57eafaad181505ef594d0214d0724647
vfio: Fix PCI INTx disable consistency

commit 899649b7d4ead76c19e39251ca886eebe3f811a8 upstream.

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.

Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/vfio/pci/vfio_pci_intrs.c