]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
vdpa/mlx5: Don't enable non-active VQs in .set_vq_ready()
authorDragos Tatulea <dtatulea@nvidia.com>
Wed, 26 Jun 2024 10:27:00 +0000 (13:27 +0300)
committerMichael S. Tsirkin <mst@redhat.com>
Tue, 9 Jul 2024 12:42:51 +0000 (08:42 -0400)
VQ indices in the range [cur_num_qps, max_vqs) represent queues that
have not yet been activated. .set_vq_ready should not activate these
VQs.

Reviewed-by: Cosmin Ratiu <cratiu@nvidia.com>
Acked-by: Eugenio Pérez <eperezma@redhat.com>
Signed-off-by: Dragos Tatulea <dtatulea@nvidia.com>
Message-Id: <20240626-stage-vdpa-vq-precreate-v2-24-560c491078df@nvidia.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
drivers/vdpa/mlx5/net/mlx5_vnet.c

index 573dc01df8c33271e9dcf59ebbb8846ad9f97ecf..fa78e8288ebbf8787f13d4b976ddf820b1fb7d6d 100644 (file)
@@ -1575,6 +1575,9 @@ static int resume_vq(struct mlx5_vdpa_net *ndev, struct mlx5_vdpa_virtqueue *mvq
        if (!mvq->initialized)
                return 0;
 
+       if (mvq->index >= ndev->cur_num_vqs)
+               return 0;
+
        switch (mvq->fw_state) {
        case MLX5_VIRTIO_NET_Q_OBJECT_STATE_INIT:
                /* Due to a FW quirk we need to modify the VQ fields first then change state.