|
@@ -2266,7 +2266,7 @@ static void vfio_vga_quirk_teardown(VFIODevice *vdev)
|
|
while (!QLIST_EMPTY(&vdev->vga.region[i].quirks)) {
|
|
while (!QLIST_EMPTY(&vdev->vga.region[i].quirks)) {
|
|
VFIOQuirk *quirk = QLIST_FIRST(&vdev->vga.region[i].quirks);
|
|
VFIOQuirk *quirk = QLIST_FIRST(&vdev->vga.region[i].quirks);
|
|
memory_region_del_subregion(&vdev->vga.region[i].mem, &quirk->mem);
|
|
memory_region_del_subregion(&vdev->vga.region[i].mem, &quirk->mem);
|
|
- memory_region_destroy(&quirk->mem);
|
|
|
|
|
|
+ object_unparent(OBJECT(&quirk->mem));
|
|
QLIST_REMOVE(quirk, next);
|
|
QLIST_REMOVE(quirk, next);
|
|
g_free(quirk);
|
|
g_free(quirk);
|
|
}
|
|
}
|
|
@@ -2290,7 +2290,7 @@ static void vfio_bar_quirk_teardown(VFIODevice *vdev, int nr)
|
|
while (!QLIST_EMPTY(&bar->quirks)) {
|
|
while (!QLIST_EMPTY(&bar->quirks)) {
|
|
VFIOQuirk *quirk = QLIST_FIRST(&bar->quirks);
|
|
VFIOQuirk *quirk = QLIST_FIRST(&bar->quirks);
|
|
memory_region_del_subregion(&bar->mem, &quirk->mem);
|
|
memory_region_del_subregion(&bar->mem, &quirk->mem);
|
|
- memory_region_destroy(&quirk->mem);
|
|
|
|
|
|
+ object_unparent(OBJECT(&quirk->mem));
|
|
QLIST_REMOVE(quirk, next);
|
|
QLIST_REMOVE(quirk, next);
|
|
g_free(quirk);
|
|
g_free(quirk);
|
|
}
|
|
}
|