]> www.infradead.org Git - users/dwmw2/qemu.git/commitdiff
pcie_sriov: Release VFs failed to realize
authorAkihiko Odaki <akihiko.odaki@daynix.com>
Thu, 27 Jun 2024 06:07:56 +0000 (15:07 +0900)
committerMichael S. Tsirkin <mst@redhat.com>
Wed, 3 Jul 2024 22:14:07 +0000 (18:14 -0400)
Release VFs failed to realize just as we do in unregister_vfs().

Fixes: 7c0fa8dff811 ("pcie: Add support for Single Root I/O Virtualization (SR/IOV)")
Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com>
Message-Id: <20240627-reuse-v10-7-7ca0b8ed3d9f@daynix.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
hw/pci/pcie_sriov.c

index faadb0d2ea852ea282d2a56c9a56b16da7d122e6..9bd7f8acc3f430f8c71efa3e74eab6948805e4e3 100644 (file)
@@ -99,6 +99,8 @@ bool pcie_sriov_pf_init(PCIDevice *dev, uint16_t offset,
         vf->exp.sriov_vf.vf_number = i;
 
         if (!qdev_realize(&vf->qdev, bus, errp)) {
+            object_unparent(OBJECT(vf));
+            object_unref(vf);
             unparent_vfs(dev, i);
             return false;
         }