From 0024e310fb02b751057b4b50e002cf4b372702e7 Mon Sep 17 00:00:00 2001 From: Rusty Russell Date: Fri, 25 Jul 2008 12:06:04 -0500 Subject: [PATCH] --- yaml --- r: 105766 b: refs/heads/master c: 44653eae1407f79dff6f52fcf594ae84cb165ec4 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/virtio/virtio_ring.c | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index 56094be1491c..d4fa981431cc 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 674bfc23c585b34c42263d73fb51710d49762a23 +refs/heads/master: 44653eae1407f79dff6f52fcf594ae84cb165ec4 diff --git a/trunk/drivers/virtio/virtio_ring.c b/trunk/drivers/virtio/virtio_ring.c index 72bf8bc09014..21d9a62767af 100644 --- a/trunk/drivers/virtio/virtio_ring.c +++ b/trunk/drivers/virtio/virtio_ring.c @@ -87,8 +87,11 @@ static int vring_add_buf(struct virtqueue *_vq, if (vq->num_free < out + in) { pr_debug("Can't add buf len %i - avail = %i\n", out + in, vq->num_free); - /* We notify *even if* VRING_USED_F_NO_NOTIFY is set here. */ - vq->notify(&vq->vq); + /* FIXME: for historical reasons, we force a notify here if + * there are outgoing parts to the buffer. Presumably the + * host should service the ring ASAP. */ + if (out) + vq->notify(&vq->vq); END_USE(vq); return -ENOSPC; }