[Qemu-devel] [PATCH v2] secondary-vga: delete mmio subregions upon exit

remy.noel@blade-group.com posted 1 patch 7 years, 1 month ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20181002121935.23706-1-remy.noel@blade-group.com
Test docker-clang@ubuntu failed
Test checkpatch passed
hw/display/vga-pci.c | 5 +++++
1 file changed, 5 insertions(+)
[Qemu-devel] [PATCH v2] secondary-vga: delete mmio subregions upon exit
Posted by remy.noel@blade-group.com 7 years, 1 month ago
From: "remy.noel" <remy.noel@blade-group.com>

93abfc88bd649de1933588bfc7175605331b3ea9 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: remy.noel <remy.noel@blade-group.com>
---
 hw/display/vga-pci.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/hw/display/vga-pci.c b/hw/display/vga-pci.c
index 24ca1b3e1f..a68f014c9f 100644
--- a/hw/display/vga-pci.c
+++ b/hw/display/vga-pci.c
@@ -309,6 +309,11 @@ 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]);
+    }
 }
 
 static void pci_secondary_vga_init(Object *obj)
-- 
2.19.0


Re: [Qemu-devel] [PATCH v2] secondary-vga: delete mmio subregions upon exit
Posted by Gerd Hoffmann 7 years, 1 month ago
On Tue, Oct 02, 2018 at 02:19:35PM +0200, remy.noel@blade-group.com wrote:
> From: "remy.noel" <remy.noel@blade-group.com>
> 
> 93abfc88bd649de1933588bfc7175605331b3ea9 introduced a reference cycle in
> the vga-pci devices, preventing cleanup of the object upon hotblug.
> 
> This patch allows to break the cycle.

Added to vga queue.

thanks,
  Gerd