Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

virtio_ring: remove flags check for unmap split indirect desc

When calling vring_unmap_one_split_indirect(), it will not encounter the
situation that the flags contains VRING_DESC_F_INDIRECT. So remove this
logic.

Signed-off-by: Xuan Zhuo <xuanzhuo@linux.alibaba.com>
Link: https://lore.kernel.org/r/20220224110402.108161-3-xuanzhuo@linux.alibaba.com
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>

authored by

Xuan Zhuo and committed by
Michael S. Tsirkin
b4282ebc d80dc15b

+5 -13
+5 -13
drivers/virtio/virtio_ring.c
··· 379 379 380 380 flags = virtio16_to_cpu(vq->vq.vdev, desc->flags); 381 381 382 - if (flags & VRING_DESC_F_INDIRECT) { 383 - dma_unmap_single(vring_dma_dev(vq), 384 - virtio64_to_cpu(vq->vq.vdev, desc->addr), 385 - virtio32_to_cpu(vq->vq.vdev, desc->len), 386 - (flags & VRING_DESC_F_WRITE) ? 387 - DMA_FROM_DEVICE : DMA_TO_DEVICE); 388 - } else { 389 - dma_unmap_page(vring_dma_dev(vq), 390 - virtio64_to_cpu(vq->vq.vdev, desc->addr), 391 - virtio32_to_cpu(vq->vq.vdev, desc->len), 392 - (flags & VRING_DESC_F_WRITE) ? 393 - DMA_FROM_DEVICE : DMA_TO_DEVICE); 394 - } 382 + dma_unmap_page(vring_dma_dev(vq), 383 + virtio64_to_cpu(vq->vq.vdev, desc->addr), 384 + virtio32_to_cpu(vq->vq.vdev, desc->len), 385 + (flags & VRING_DESC_F_WRITE) ? 386 + DMA_FROM_DEVICE : DMA_TO_DEVICE); 395 387 } 396 388 397 389 static unsigned int vring_unmap_one_split(const struct vring_virtqueue *vq,