Current code cleared the PCI_COMMAND_INTX_DISABLE, which indicates
device/function could asserts its INTx# signal.

PCI local spec says:
A value of 0 enables the assertion of its INTx# signal.
A value of 1 disables the assertion of its INTx# signal.

Signed-off-by: Cao jin <[email protected]>
---
I guess it is a mistake, clearing the bit to enable INTx violate
the intention of vfio_disable_interrupts above.

 hw/vfio/pci.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/hw/vfio/pci.c b/hw/vfio/pci.c
index a5a620a..cce3024 100644
--- a/hw/vfio/pci.c
+++ b/hw/vfio/pci.c
@@ -1898,8 +1898,8 @@ static void vfio_pci_pre_reset(VFIOPCIDevice *vdev)
      * Also put INTx Disable in known state.
      */
     cmd = vfio_pci_read_config(pdev, PCI_COMMAND, 2);
-    cmd &= ~(PCI_COMMAND_IO | PCI_COMMAND_MEMORY | PCI_COMMAND_MASTER |
-             PCI_COMMAND_INTX_DISABLE);
+    cmd &= ~(PCI_COMMAND_IO | PCI_COMMAND_MEMORY | PCI_COMMAND_MASTER) |
+             PCI_COMMAND_INTX_DISABLE;
     vfio_pci_write_config(pdev, PCI_COMMAND, cmd, 2);
 }
 
-- 
2.1.0




Reply via email to