|
@@ -381,6 +381,7 @@ int vhost_net_start(VirtIODevice *dev, NetClientState *ncs,
|
|
|
r = vhost_set_vring_enable(peer, peer->vring_enable);
|
|
|
|
|
|
if (r < 0) {
|
|
|
+ vhost_net_stop_one(get_vhost_net(peer), dev);
|
|
|
goto err_start;
|
|
|
}
|
|
|
}
|
|
@@ -390,7 +391,8 @@ int vhost_net_start(VirtIODevice *dev, NetClientState *ncs,
|
|
|
|
|
|
err_start:
|
|
|
while (--i >= 0) {
|
|
|
- peer = qemu_get_peer(ncs , i);
|
|
|
+ peer = qemu_get_peer(ncs, i < data_queue_pairs ?
|
|
|
+ i : n->max_queue_pairs);
|
|
|
vhost_net_stop_one(get_vhost_net(peer), dev);
|
|
|
}
|
|
|
e = k->set_guest_notifiers(qbus->parent, total_notifiers, false);
|