diff options
-rw-r--r-- | hw/net/virtio-net.c | 11 | ||||
-rw-r--r-- | include/hw/virtio/virtio-net.h | 1 |
2 files changed, 3 insertions, 9 deletions
diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c index 2a99b0e0f6..953d5c2bc8 100644 --- a/hw/net/virtio-net.c +++ b/hw/net/virtio-net.c @@ -3181,23 +3181,19 @@ static int virtio_net_primary_should_be_hidden(DeviceListener *listener, VirtIONet *n = container_of(listener, VirtIONet, primary_listener); bool match_found = false; bool hide = false; + const char *standby_id; if (!device_opts) { return -1; } n->primary_device_dict = qemu_opts_to_qdict(device_opts, n->primary_device_dict); - if (n->primary_device_dict) { - g_free(n->standby_id); - n->standby_id = g_strdup(qdict_get_try_str(n->primary_device_dict, - "failover_pair_id")); - } - if (g_strcmp0(n->standby_id, n->netclient_name) == 0) { + standby_id = qemu_opt_get(device_opts, "failover_pair_id"); + if (g_strcmp0(standby_id, n->netclient_name) == 0) { match_found = true; } else { match_found = false; hide = false; - g_free(n->standby_id); n->primary_device_dict = NULL; goto out; } @@ -3400,7 +3396,6 @@ static void virtio_net_device_unrealize(DeviceState *dev) if (n->failover) { device_listener_unregister(&n->primary_listener); g_free(n->primary_device_id); - g_free(n->standby_id); qobject_unref(n->primary_device_dict); n->primary_device_dict = NULL; } diff --git a/include/hw/virtio/virtio-net.h b/include/hw/virtio/virtio-net.h index 7159e6c0a0..a055f39dd6 100644 --- a/include/hw/virtio/virtio-net.h +++ b/include/hw/virtio/virtio-net.h @@ -205,7 +205,6 @@ struct VirtIONet { QDict *primary_device_dict; DeviceState *primary_dev; char *primary_device_id; - char *standby_id; /* primary failover device is hidden*/ bool failover_primary_hidden; bool failover; |