summaryrefslogtreecommitdiff
path: root/hw/virtio.c
diff options
context:
space:
mode:
authoraliguori <aliguori@c046a42c-6fe2-441c-8c8c-71466251a162>2009-03-21 23:04:14 +0000
committeraliguori <aliguori@c046a42c-6fe2-441c-8c8c-71466251a162>2009-03-21 23:04:14 +0000
commitd35381c87483d49a56e0065dd95d49c79e146809 (patch)
treeec1f3981253016ead4bc47bac04bd3268e5da2f6 /hw/virtio.c
parent7712c5850ef9b95e2f1aea467bf74f84a91ccdcf (diff)
parent7648bb760d768bb88b240e534fdb974f1adf577f (diff)
downloadqemu-d35381c87483d49a56e0065dd95d49c79e146809.tar.gz
Add release tag for 0.10.1 releasev0.10.1release_0_10_1
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> git-svn-id: svn://svn.savannah.nongnu.org/qemu/tags/release_0_10_1@6881 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'hw/virtio.c')
-rw-r--r--hw/virtio.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/hw/virtio.c b/hw/virtio.c
index b94ab0f054..08ea16dee5 100644
--- a/hw/virtio.c
+++ b/hw/virtio.c
@@ -726,9 +726,10 @@ VirtQueue *virtio_add_queue(VirtIODevice *vdev, int queue_size,
void virtio_notify(VirtIODevice *vdev, VirtQueue *vq)
{
- /* Always notify when queue is empty */
- if ((vq->inuse || vring_avail_idx(vq) != vq->last_avail_idx) &&
- (vring_avail_flags(vq) & VRING_AVAIL_F_NO_INTERRUPT))
+ /* Always notify when queue is empty (when feature acknowledge) */
+ if ((vring_avail_flags(vq) & VRING_AVAIL_F_NO_INTERRUPT) &&
+ (!(vdev->features & (1 << VIRTIO_F_NOTIFY_ON_EMPTY)) ||
+ (vq->inuse || vring_avail_idx(vq) != vq->last_avail_idx)))
return;
vdev->isr |= 0x01;