]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - drivers/vhost/net.c
Merge branch 'vhost-net-next' of git://git.kernel.org/pub/scm/linux/kernel/git/mst...
[mv-sheeva.git] / drivers / vhost / net.c
index 0f41c9195e9bb9942adc2e6e15a43af4a34393e2..4c218e910635bc7e1bc34e35e1f4aa54881340ae 100644 (file)
@@ -519,13 +519,12 @@ static long vhost_net_set_backend(struct vhost_net *n, unsigned index, int fd)
 
        /* start polling new socket */
        oldsock = vq->private_data;
-       if (sock == oldsock)
-               goto done;
+       if (sock != oldsock){
+                vhost_net_disable_vq(n, vq);
+                rcu_assign_pointer(vq->private_data, sock);
+                vhost_net_enable_vq(n, vq);
+       }
 
-       vhost_net_disable_vq(n, vq);
-       rcu_assign_pointer(vq->private_data, sock);
-       vhost_net_enable_vq(n, vq);
-done:
        if (oldsock) {
                vhost_net_flush_vq(n, index);
                fput(oldsock->file);
@@ -626,7 +625,7 @@ static long vhost_net_compat_ioctl(struct file *f, unsigned int ioctl,
 }
 #endif
 
-const static struct file_operations vhost_net_fops = {
+static const struct file_operations vhost_net_fops = {
        .owner          = THIS_MODULE,
        .release        = vhost_net_release,
        .unlocked_ioctl = vhost_net_ioctl,