secondary-vga: delete mmio subregions upon exit
93abfc88bd 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>
Message-id: 20181002121935.23706-1-remy.noel@blade-group.com
[ kraxel: delete the recently added edid region too ]
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
			
			
This commit is contained in:
		@@ -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)
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user