diff options
author | Grant Likely <grant.likely@secretlab.ca> | 2009-11-23 14:49:36 -0700 |
---|---|---|
committer | Grant Likely <grant.likely@secretlab.ca> | 2009-11-23 14:49:36 -0700 |
commit | 2cfcadde83b308240690ff1c18f117d8bc7a08b0 (patch) | |
tree | aa0795966d070d1f7a5221232d9ba47744bddb5f /drivers/virtio/virtio_ring.c | |
parent | e91edcf5a2940bb7f1f316c871dfe9e2aaf9d6d9 (diff) | |
parent | 648f4e3e50c4793d9dbf9a09afa193631f76fa26 (diff) | |
download | talos-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.c | 3 |
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; |