net: synchronize net_host_device_remove with host_net_remove_completion
Using net_host_check_device is unnecessary. qemu_del_net_client asserts
for the non-peer case that it can only process NIC type NetClientStates,
and that assertion is valid for the peered case as well, so move it and
use the same check in net_host_device_remove. host_net_remove_completion
is already checking the type.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Jason Wang <jasowang@redhat.com>
Message-id: 1419353600-30519-2-git-send-email-pbonzini@redhat.com
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
diff --git a/net/net.c b/net/net.c
index 11fb769..0be084d 100644
--- a/net/net.c
+++ b/net/net.c
@@ -324,6 +324,8 @@
NetClientState *ncs[MAX_QUEUE_NUM];
int queues, i;
+ assert(nc->info->type != NET_CLIENT_OPTIONS_KIND_NIC);
+
/* If the NetClientState belongs to a multiqueue backend, we will change all
* other NetClientStates also.
*/
@@ -355,8 +357,6 @@
return;
}
- assert(nc->info->type != NET_CLIENT_OPTIONS_KIND_NIC);
-
for (i = 0; i < queues; i++) {
qemu_cleanup_net_client(ncs[i]);
qemu_free_net_client(ncs[i]);
@@ -991,7 +991,7 @@
device, vlan_id);
return;
}
- if (!net_host_check_device(nc->model)) {
+ if (nc->info->type == NET_CLIENT_OPTIONS_KIND_NIC) {
error_report("invalid host network device '%s'", device);
return;
}