X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fnet%2Fvirtio%2Fvirtio_ring.h;h=fcecc1614ce2cdff4e99c58f2ca7f2f81d17fda2;hb=e24b05bfd20d637a920c6dc1d7c4ee0aa107287e;hp=a16c4991c19b47ca80d66bd9fb383adec1a5ad2c;hpb=6c3169a3dc041cbdbef506f19e3779940caa4b29;p=dpdk.git diff --git a/drivers/net/virtio/virtio_ring.h b/drivers/net/virtio/virtio_ring.h index a16c4991c1..fcecc1614c 100644 --- a/drivers/net/virtio/virtio_ring.h +++ b/drivers/net/virtio/virtio_ring.h @@ -79,7 +79,7 @@ struct vring_used_elem { struct vring_used { uint16_t flags; - uint16_t idx; + volatile uint16_t idx; struct vring_used_elem ring[0]; }; @@ -123,10 +123,10 @@ struct vring { #define vring_used_event(vr) ((vr)->avail->ring[(vr)->num]) #define vring_avail_event(vr) (*(uint16_t *)&(vr)->used->ring[(vr)->num]) -static inline int +static inline size_t vring_size(unsigned int num, unsigned long align) { - int size; + size_t size; size = num * sizeof(struct vring_desc); size += sizeof(struct vring_avail) + (num * sizeof(uint16_t));