]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
virtio_ring: code cleanup in detach_buf_split
authorzhangdongchuan@eswincomputing.com <zhangdongchuan@eswincomputing.com>
Wed, 26 Nov 2025 03:40:16 +0000 (11:40 +0800)
committerMichael S. Tsirkin <mst@redhat.com>
Fri, 26 Dec 2025 20:00:00 +0000 (15:00 -0500)
Since the return value of vring_unmap_one_split() is exactly
vq->split.desc_extra[i].next, 'i = vq->split.desc_extra[i].next' is
redundant. Assign vring_unmap_one_split() to i instead.

Since vq->split.desc_extra is assigned to extra, use extra[i].next
instead of vq->split.desc_extra[i].next to improve readability.

No change in functionality.

Signed-off-by: zhangdongchuan <zhangdongchuan@eswincomputing.com>
Acked-by: Jason Wang <jasowang@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Message-Id: <202511261140162936986@eswincomputing.com>

drivers/virtio/virtio_ring.c

index ddab6895967171c6907a9cd54e96b0be2413a037..560e132f1f193832416664965f193546fb99315d 100644 (file)
@@ -764,13 +764,12 @@ static void detach_buf_split(struct vring_virtqueue *vq, unsigned int head,
        i = head;
 
        while (vq->split.vring.desc[i].flags & nextflag) {
-               vring_unmap_one_split(vq, &extra[i]);
-               i = vq->split.desc_extra[i].next;
+               i = vring_unmap_one_split(vq, &extra[i]);
                vq->vq.num_free++;
        }
 
        vring_unmap_one_split(vq, &extra[i]);
-       vq->split.desc_extra[i].next = vq->free_head;
+       extra[i].next = vq->free_head;
        vq->free_head = head;
 
        /* Plus final descriptor */