Commit 0ab90e61 authored by remy.noel's avatar remy.noel Committed by Gerd Hoffmann
Browse files

secondary-vga: delete mmio subregions upon exit



93abfc88 introduced a reference cycle in
the vga-pci devices, preventing cleanup of the object upon hotblug.

This patch allows to break the cycle.

Signed-off-by: default avatarremy.noel <remy.noel@blade-group.com>
Message-id: 20181002121935.23706-1-remy.noel@blade-group.com

[ kraxel: delete the recently added edid region too ]

Signed-off-by: default avatarGerd Hoffmann <kraxel@redhat.com>
parent 5a358b39
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -309,6 +309,14 @@ static void pci_secondary_vga_exit(PCIDevice *dev)
    VGACommonState *s = &d->vga;

    graphic_console_close(s->con);
    memory_region_del_subregion(&d->mmio, &d->mrs[0]);
    memory_region_del_subregion(&d->mmio, &d->mrs[1]);
    if (d->flags & (1 << PCI_VGA_FLAG_ENABLE_QEXT)) {
        memory_region_del_subregion(&d->mmio, &d->mrs[2]);
    }
    if (d->flags & (1 << PCI_VGA_FLAG_ENABLE_EDID)) {
        memory_region_del_subregion(&d->mmio, &d->mrs[3]);
    }
}

static void pci_secondary_vga_init(Object *obj)