summaryrefslogtreecommitdiffstats
path: root/drivers/vhost/net.c
diff options
context:
space:
mode:
authorJason Wang2011-06-21 12:04:27 +0200
committerMichael S. Tsirkin2011-07-19 12:28:34 +0200
commitf59281dafb832b161133743fcf3dc29051e6fdb8 (patch)
tree3eacc9fd60396174a94c8bd02326e930ff94351d /drivers/vhost/net.c
parentnet: can: remove custom hex_to_bin() (diff)
downloadkernel-qcow2-linux-f59281dafb832b161133743fcf3dc29051e6fdb8.tar.gz
kernel-qcow2-linux-f59281dafb832b161133743fcf3dc29051e6fdb8.tar.xz
kernel-qcow2-linux-f59281dafb832b161133743fcf3dc29051e6fdb8.zip
vhost: init used ring after backend was set
Move the used ring initialization after backend was set. This makes it possible to disable the backend and tweak the used ring, then restart. This will also make it possible to log the used ring write correctly. Signed-off-by: Jason Wang <jasowang@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Diffstat (limited to 'drivers/vhost/net.c')
-rw-r--r--drivers/vhost/net.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/vhost/net.c b/drivers/vhost/net.c
index f0fd52cdfadc..70ac60437d17 100644
--- a/drivers/vhost/net.c
+++ b/drivers/vhost/net.c
@@ -703,6 +703,10 @@ static long vhost_net_set_backend(struct vhost_net *n, unsigned index, int fd)
vhost_net_disable_vq(n, vq);
rcu_assign_pointer(vq->private_data, sock);
vhost_net_enable_vq(n, vq);
+
+ r = vhost_init_used(vq);
+ if (r)
+ goto err_vq;
}
mutex_unlock(&vq->mutex);