summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--hw/msi.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/hw/msi.c b/hw/msi.c
index 5d6ceb6df0..b2903fc93c 100644
--- a/hw/msi.c
+++ b/hw/msi.c
@@ -191,6 +191,10 @@ void msi_reset(PCIDevice *dev)
     uint16_t flags;
     bool msi64bit;
 
+    if (!msi_present(dev)) {
+        return;
+    }
+
     flags = pci_get_word(dev->config + msi_flags_off(dev));
     flags &= ~(PCI_MSI_FLAGS_QSIZE | PCI_MSI_FLAGS_ENABLE);
     msi64bit = flags & PCI_MSI_FLAGS_64BIT;