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>
This commit is contained in:
parent
d80dc15bb6
commit
b4282ebc71
@ -379,20 +379,12 @@ static void vring_unmap_one_split_indirect(const struct vring_virtqueue *vq,
|
|||||||
|
|
||||||
flags = virtio16_to_cpu(vq->vq.vdev, desc->flags);
|
flags = virtio16_to_cpu(vq->vq.vdev, desc->flags);
|
||||||
|
|
||||||
if (flags & VRING_DESC_F_INDIRECT) {
|
|
||||||
dma_unmap_single(vring_dma_dev(vq),
|
|
||||||
virtio64_to_cpu(vq->vq.vdev, desc->addr),
|
|
||||||
virtio32_to_cpu(vq->vq.vdev, desc->len),
|
|
||||||
(flags & VRING_DESC_F_WRITE) ?
|
|
||||||
DMA_FROM_DEVICE : DMA_TO_DEVICE);
|
|
||||||
} else {
|
|
||||||
dma_unmap_page(vring_dma_dev(vq),
|
dma_unmap_page(vring_dma_dev(vq),
|
||||||
virtio64_to_cpu(vq->vq.vdev, desc->addr),
|
virtio64_to_cpu(vq->vq.vdev, desc->addr),
|
||||||
virtio32_to_cpu(vq->vq.vdev, desc->len),
|
virtio32_to_cpu(vq->vq.vdev, desc->len),
|
||||||
(flags & VRING_DESC_F_WRITE) ?
|
(flags & VRING_DESC_F_WRITE) ?
|
||||||
DMA_FROM_DEVICE : DMA_TO_DEVICE);
|
DMA_FROM_DEVICE : DMA_TO_DEVICE);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
static unsigned int vring_unmap_one_split(const struct vring_virtqueue *vq,
|
static unsigned int vring_unmap_one_split(const struct vring_virtqueue *vq,
|
||||||
unsigned int i)
|
unsigned int i)
|
||||||
|
Loading…
Reference in New Issue
Block a user