On 2017年03月09日 20:05, Laurent Vivier wrote:
On 09/03/2017 12:58, Paolo Bonzini wrote:
MSI-X has been disabled by the time the e1000e device is unrealized, hence
msix_uninit is never called.  This causes the object to be leaked, which
shows up as a RAMBlock with empty name when attempting migration.

Reported-by: Dr. David Alan Gilbert <dgilb...@redhat.com>
Cc: Jason Wang <jasow...@redhat.com>
Cc: qemu-sta...@nongnu.org
Signed-off-by: Paolo Bonzini <pbonz...@redhat.com>
---
  hw/net/e1000e.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/hw/net/e1000e.c b/hw/net/e1000e.c
index b0f429b..6e23493 100644
--- a/hw/net/e1000e.c
+++ b/hw/net/e1000e.c
@@ -306,7 +306,7 @@ e1000e_init_msix(E1000EState *s)
  static void
  e1000e_cleanup_msix(E1000EState *s)
  {
-    if (msix_enabled(PCI_DEVICE(s))) {
+    if (msix_present(PCI_DEVICE(s))) {
          e1000e_unuse_msix_vectors(s, E1000E_MSIX_VEC_NUM);
          msix_uninit(PCI_DEVICE(s), &s->msix, &s->msix);
      }

Tested-by: Laurent Vivier <lviv...@redhat.com>


Applied, thanks.

Reply via email to