summaryrefslogtreecommitdiffstats
path: root/drivers/virtio/virtio_ring.c
diff options
context:
space:
mode:
authorGrant Likely <grant.likely@secretlab.ca>2009-11-23 14:49:36 -0700
committerGrant Likely <grant.likely@secretlab.ca>2009-11-23 14:49:36 -0700
commit2cfcadde83b308240690ff1c18f117d8bc7a08b0 (patch)
treeaa0795966d070d1f7a5221232d9ba47744bddb5f /drivers/virtio/virtio_ring.c
parente91edcf5a2940bb7f1f316c871dfe9e2aaf9d6d9 (diff)
parent648f4e3e50c4793d9dbf9a09afa193631f76fa26 (diff)
downloadtalos-op-linux-2cfcadde83b308240690ff1c18f117d8bc7a08b0.tar.gz
talos-op-linux-2cfcadde83b308240690ff1c18f117d8bc7a08b0.zip
Merge commit 'v2.6.32-rc8'
Diffstat (limited to 'drivers/virtio/virtio_ring.c')
-rw-r--r--drivers/virtio/virtio_ring.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/virtio/virtio_ring.c b/drivers/virtio/virtio_ring.c
index f53600580726..fbd2ecde93e4 100644
--- a/drivers/virtio/virtio_ring.c
+++ b/drivers/virtio/virtio_ring.c
@@ -285,6 +285,9 @@ static void *vring_get_buf(struct virtqueue *_vq, unsigned int *len)
return NULL;
}
+ /* Only get used array entries after they have been exposed by host. */
+ rmb();
+
i = vq->vring.used->ring[vq->last_used_idx%vq->vring.num].id;
*len = vq->vring.used->ring[vq->last_used_idx%vq->vring.num].len;
OpenPOWER on IntegriCloud