diff options
Diffstat (limited to 'drivers')
| -rw-r--r-- | drivers/vfio/pci/vfio_pci_intrs.c | 7 | 
1 files changed, 7 insertions, 0 deletions
| diff --git a/drivers/vfio/pci/vfio_pci_intrs.c b/drivers/vfio/pci/vfio_pci_intrs.c index 152b43822ef1..aa23e9a4a22f 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); |