vdpa/mlx5: Delete control vq iotlb in destroy_mr only when necessary
authorEugenio Pérez <eperezma@redhat.com>
Wed, 2 Aug 2023 17:12:20 +0000 (20:12 +0300)
committerMichael S. Tsirkin <mst@redhat.com>
Thu, 10 Aug 2023 19:24:29 +0000 (15:24 -0400)
commitad03a0f44cdb97b46e5c84ed353dac9b8ae2c276
tree146fad49e989a29c01b0ea42ee99b0b47caef6f3
parent9ee811009ad8f87982b69e61d07447d12233ad01
vdpa/mlx5: Delete control vq iotlb in destroy_mr only when necessary

mlx5_vdpa_destroy_mr can be called from .set_map with data ASID after
the control virtqueue ASID iotlb has been populated. The control vq
iotlb must not be cleared, since it will not be populated again.

So call the ASID aware destroy function which makes sure that the
right vq resource is destroyed.

Fixes: 8fcd20c30704 ("vdpa/mlx5: Support different address spaces for control and data")
Signed-off-by: Eugenio Pérez <eperezma@redhat.com>
Reviewed-by: Gal Pressman <gal@nvidia.com>
Message-Id: <20230802171231.11001-5-dtatulea@nvidia.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Acked-by: Jason Wang <jasowang@redhat.com>
drivers/vdpa/mlx5/core/mlx5_vdpa.h
drivers/vdpa/mlx5/core/mr.c
drivers/vdpa/mlx5/net/mlx5_vnet.c