e1000e: correctly tear down MSI-X memory regions
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 <dgilbert@redhat.com>
Cc: Jason Wang <jasowang@redhat.com>
Cc: qemu-stable@nongnu.org
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Tested-by: Laurent Vivier <lvivier@redhat.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>
(cherry picked from commit 7ec7ae4b97
)
Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
stable-2.8
parent
9ad26963bf
commit
495756ef9d
|
@ -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);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue