diff options
author | David S. Miller <davem@davemloft.net> | 2010-06-02 11:26:36 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-06-02 11:26:36 -0400 |
commit | 0dea7c12fc2c15de8b2104a322a1f47919d753fd (patch) | |
tree | f6f2082164d3a1fcfe3359d02beb6f19917d4c08 /drivers/vhost/net.c | |
parent | ab95bfe01f9872459c8678572ccadbf646badad0 (diff) | |
parent | f8322fbe049687d3676690e8ad839c7169dd306a (diff) |
Merge branch 'vhost-net-next' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost
Diffstat (limited to 'drivers/vhost/net.c')
-rw-r--r-- | drivers/vhost/net.c | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/drivers/vhost/net.c b/drivers/vhost/net.c index 0f41c9195e9b..4c218e910635 100644 --- a/drivers/vhost/net.c +++ b/drivers/vhost/net.c | |||
@@ -519,13 +519,12 @@ static long vhost_net_set_backend(struct vhost_net *n, unsigned index, int fd) | |||
519 | 519 | ||
520 | /* start polling new socket */ | 520 | /* start polling new socket */ |
521 | oldsock = vq->private_data; | 521 | oldsock = vq->private_data; |
522 | if (sock == oldsock) | 522 | if (sock != oldsock){ |
523 | goto done; | 523 | vhost_net_disable_vq(n, vq); |
524 | rcu_assign_pointer(vq->private_data, sock); | ||
525 | vhost_net_enable_vq(n, vq); | ||
526 | } | ||
524 | 527 | ||
525 | vhost_net_disable_vq(n, vq); | ||
526 | rcu_assign_pointer(vq->private_data, sock); | ||
527 | vhost_net_enable_vq(n, vq); | ||
528 | done: | ||
529 | if (oldsock) { | 528 | if (oldsock) { |
530 | vhost_net_flush_vq(n, index); | 529 | vhost_net_flush_vq(n, index); |
531 | fput(oldsock->file); | 530 | fput(oldsock->file); |
@@ -626,7 +625,7 @@ static long vhost_net_compat_ioctl(struct file *f, unsigned int ioctl, | |||
626 | } | 625 | } |
627 | #endif | 626 | #endif |
628 | 627 | ||
629 | const static struct file_operations vhost_net_fops = { | 628 | static const struct file_operations vhost_net_fops = { |
630 | .owner = THIS_MODULE, | 629 | .owner = THIS_MODULE, |
631 | .release = vhost_net_release, | 630 | .release = vhost_net_release, |
632 | .unlocked_ioctl = vhost_net_ioctl, | 631 | .unlocked_ioctl = vhost_net_ioctl, |