[PATCH] virtio_ring: code cleanup in detach_buf_split
From: zhangdongchuan@xxxxxxxxxxxxxxxxxx
Date: Tue Nov 25 2025 - 22:41:02 EST
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@xxxxxxxxxxxxxxxxxx>
---
drivers/virtio/virtio_ring.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/drivers/virtio/virtio_ring.c b/drivers/virtio/virtio_ring.c
index 7b6205253b46..0cbf3419a645 100644
--- a/drivers/virtio/virtio_ring.c
+++ b/drivers/virtio/virtio_ring.c
@@ -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 */
--
2.34.1