commit 66bf7d58 removed internal msi state flag E1000E_USE_MSI, but it is used by intr_state which exists in vmstate. Restore it for migration to older QEMU versions
CC: Dmitry Fleytman <dmi...@daynix.com> CC: Jason Wang <jasow...@redhat.com> CC: Markus Armbruster <arm...@redhat.com> CC: Marcel Apfelbaum <mar...@redhat.com> CC: Michael S. Tsirkin <m...@redhat.com> Signed-off-by: Cao jin <caoj.f...@cn.fujitsu.com> --- hw/net/e1000e.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/hw/net/e1000e.c b/hw/net/e1000e.c index 82a7be1..ba37fe9 100644 --- a/hw/net/e1000e.c +++ b/hw/net/e1000e.c @@ -89,7 +89,8 @@ typedef struct E1000EState { #define E1000E_MSIX_TABLE (0x0000) #define E1000E_MSIX_PBA (0x2000) -#define E1000E_USE_MSIX BIT(0) +#define E1000E_USE_MSI BIT(0) +#define E1000E_USE_MSIX BIT(1) static uint64_t e1000e_mmio_read(void *opaque, hwaddr addr, unsigned size) @@ -470,6 +471,8 @@ static void e1000e_pci_realize(PCIDevice *pci_dev, Error **errp) ret = msi_init(PCI_DEVICE(s), 0xD0, 1, true, false, NULL); if (ret) { trace_e1000e_msi_init_fail(ret); + } else { + s->intr_state |= E1000E_USE_MSI; } if (e1000e_add_pm_capability(pci_dev, e1000e_pmrb_offset, -- 2.1.0