Michael S. Tsirkin
2011-May-19 17:12 UTC
[PATCH RFC] virtio_ring: fix delayed enable cb implementation
Fix some signed/assigned mistakes in virtqueue_enable_cb_delayed by using u16 math all over. Signed-off-by: Michael S. Tsirkin <mst at redhat.com> --- I'll put this on my v1 branch as well @@ -398,7 +397,7 @@ EXPORT_SYMBOL_GPL(virtqueue_enable_cb); bool virtqueue_enable_cb_delayed(struct virtqueue *_vq) { struct vring_virtqueue *vq = to_vvq(_vq); - int bufs; + u16 bufs; START_USE(vq); @@ -412,7 +411,7 @@ bool virtqueue_enable_cb_delayed(struct virtqueue *_vq) bufs = (vq->vring.avail->idx - vq->last_used_idx) * 3 / 4; vring_used_event(&vq->vring) = vq->last_used_idx + bufs; virtio_mb(); - if (unlikely(vq->vring.used->idx - vq->last_used_idx > bufs)) { + if (unlikely((u16)(vq->vring.used->idx - vq->last_used_idx) > bufs)) { END_USE(vq); return false; } -- 1.7.5.53.gc233e
Apparently Analagous Threads
- [PATCH RFC] virtio_ring: fix delayed enable cb implementation
- [PATCH RFC 04/11] virtio_ring: implement endian reversal based on VERSION_1 feature.
- [PATCH RFC 04/11] virtio_ring: implement endian reversal based on VERSION_1 feature.
- [PATCH RFC 04/11] virtio_ring: implement endian reversal based on VERSION_1 feature.
- [PATCH RFC v5 net-next 1/6] virtio_ring: fix virtqueue_enable_cb() when only 1 buffers were pending