2
0
Эх сурвалжийг харах

virtio-net: set/clear vhost_started in reverse order

As vhost started is cleared last thing on stop,
set it first things on start. This makes it
possible to use vhost_started while start is in
progress which is used by follow-up patches.

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Michael S. Tsirkin 12 жил өмнө
parent
commit
1830b80ff2
1 өөрчлөгдсөн 2 нэмэгдсэн , 2 устгасан
  1. 2 2
      hw/virtio-net.c

+ 2 - 2
hw/virtio-net.c

@@ -126,12 +126,12 @@ static void virtio_net_vhost_status(VirtIONet *n, uint8_t status)
         if (!vhost_net_query(tap_get_vhost_net(n->nic->nc.peer), &n->vdev)) {
         if (!vhost_net_query(tap_get_vhost_net(n->nic->nc.peer), &n->vdev)) {
             return;
             return;
         }
         }
+        n->vhost_started = 1;
         r = vhost_net_start(tap_get_vhost_net(n->nic->nc.peer), &n->vdev);
         r = vhost_net_start(tap_get_vhost_net(n->nic->nc.peer), &n->vdev);
         if (r < 0) {
         if (r < 0) {
             error_report("unable to start vhost net: %d: "
             error_report("unable to start vhost net: %d: "
                          "falling back on userspace virtio", -r);
                          "falling back on userspace virtio", -r);
-        } else {
-            n->vhost_started = 1;
+            n->vhost_started = 0;
         }
         }
     } else {
     } else {
         vhost_net_stop(tap_get_vhost_net(n->nic->nc.peer), &n->vdev);
         vhost_net_stop(tap_get_vhost_net(n->nic->nc.peer), &n->vdev);