Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1489109 > unrolled thread
| Started by | Alex Williamson <alex.williamson@redhat.com> |
|---|---|
| First post | 2016-09-22 19:30 +0200 |
| Last post | 2016-09-22 19:30 +0200 |
| Articles | 1 — 1 participant |
Back to article view | Back to linux.kernel
[PATCH] vfio-pci: Disable INTx after MSI/X teardown Alex Williamson <alex.williamson@redhat.com> - 2016-09-22 19:30 +0200
| From | Alex Williamson <alex.williamson@redhat.com> |
|---|---|
| Date | 2016-09-22 19:30 +0200 |
| Subject | [PATCH] vfio-pci: Disable INTx after MSI/X teardown |
| Message-ID | <skfYS-NW-1@gated-at.bofh.it> |
The MSI/X shutdown path can gratuitously enable INTx, which is not something we want to happen if we're dealing with broken INTx device. Signed-off-by: Alex Williamson <alex.williamson@redhat.com> --- drivers/vfio/pci/vfio_pci_intrs.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/drivers/vfio/pci/vfio_pci_intrs.c b/drivers/vfio/pci/vfio_pci_intrs.c index 152b438..aa23e9a 100644 --- a/drivers/vfio/pci/vfio_pci_intrs.c +++ b/drivers/vfio/pci/vfio_pci_intrs.c @@ -414,6 +414,13 @@ static void vfio_msi_disable(struct vfio_pci_device *vdev, bool msix) } else pci_disable_msi(pdev); + /* + * Both disable paths above use pci_intx_for_msi() to clear DisINTx + * via their shutdown paths. Restore for NoINTx devices. + */ + if (vdev->nointx) + pci_intx(pdev, 0); + vdev->irq_type = VFIO_PCI_NUM_IRQS; vdev->num_ctx = 0; kfree(vdev->ctx);
Back to top | Article view | linux.kernel
csiph-web