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 packed indirect desc

When calling vring_unmap_desc_packed(), 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-4-xuanzhuo@linux.alibaba.com
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>

authored by

Xuan Zhuo and committed by
Michael S. Tsirkin
920379a4 b4282ebc

+5 -13
+5 -13
drivers/virtio/virtio_ring.c
··· 1009 1009 1010 1010 flags = le16_to_cpu(desc->flags); 1011 1011 1012 - if (flags & VRING_DESC_F_INDIRECT) { 1013 - dma_unmap_single(vring_dma_dev(vq), 1014 - le64_to_cpu(desc->addr), 1015 - le32_to_cpu(desc->len), 1016 - (flags & VRING_DESC_F_WRITE) ? 1017 - DMA_FROM_DEVICE : DMA_TO_DEVICE); 1018 - } else { 1019 - dma_unmap_page(vring_dma_dev(vq), 1020 - le64_to_cpu(desc->addr), 1021 - le32_to_cpu(desc->len), 1022 - (flags & VRING_DESC_F_WRITE) ? 1023 - DMA_FROM_DEVICE : DMA_TO_DEVICE); 1024 - } 1012 + dma_unmap_page(vring_dma_dev(vq), 1013 + le64_to_cpu(desc->addr), 1014 + le32_to_cpu(desc->len), 1015 + (flags & VRING_DESC_F_WRITE) ? 1016 + DMA_FROM_DEVICE : DMA_TO_DEVICE); 1025 1017 } 1026 1018 1027 1019 static struct vring_packed_desc *alloc_indirect_packed(unsigned int total_sg,