diff --git a/drivers/vhost/net.c b/drivers/vhost/net.c index 35abe9019ba7b2d7242d54f819b7f6a4d57e506a..f54b1d5fc234eae0bcc3313d7709c5e3b8c619e0 100644 --- a/drivers/vhost/net.c +++ b/drivers/vhost/net.c @@ -257,7 +257,8 @@ static void handle_tx(struct vhost_net *net) UIO_MAXIOV; } vhost_discard_vq_desc(vq, 1); - tx_poll_start(net, sock); + if (err == -EAGAIN || err == -ENOBUFS) + tx_poll_start(net, sock); break; } if (err != len)