diff --git a/[refs] b/[refs] index ccad25dd2fa4..d5697393d013 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: d6db3f5c11dc7ed5712d5d5682aa34025ee5248e +refs/heads/master: 39286fa41a8b2c6a9c1f656a7b3c3efca95bc1b9 diff --git a/trunk/drivers/vhost/net.c b/trunk/drivers/vhost/net.c index 91a324cc2298..ad37da2b6cb5 100644 --- a/trunk/drivers/vhost/net.c +++ b/trunk/drivers/vhost/net.c @@ -114,8 +114,12 @@ static void handle_tx(struct vhost_net *net) return; wmem = atomic_read(&sock->sk->sk_wmem_alloc); - if (wmem >= sock->sk->sk_sndbuf) + if (wmem >= sock->sk->sk_sndbuf) { + mutex_lock(&vq->mutex); + tx_poll_start(net, sock); + mutex_unlock(&vq->mutex); return; + } use_mm(net->dev.mm); mutex_lock(&vq->mutex);