vdpa/mlx5: Update Control VQ callback information
authorEli Cohen <elic@nvidia.com>
Mon, 13 Jun 2022 07:59:57 +0000 (10:59 +0300)
committerMichael S. Tsirkin <mst@redhat.com>
Fri, 24 Jun 2022 06:49:47 +0000 (02:49 -0400)
The control VQ specific information is stored in the dedicated struct
mlx5_control_vq. When the callback is updated through
mlx5_vdpa_set_vq_cb(), make sure to update the control VQ struct.

Fixes: 5262912ef3cf ("vdpa/mlx5: Add support for control VQ and MAC setting")
Signed-off-by: Eli Cohen <elic@nvidia.com>
Message-Id: <20220613075958.511064-1-elic@nvidia.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Acked-by: Jason Wang <jasowang@redhat.com)
drivers/vdpa/mlx5/net/mlx5_vnet.c

index 1b6d46b86f810b822cee4dceb966f7871641861f..789c078ff1afc51a8fa52cef3535fef7b7735354 100644 (file)
@@ -1962,6 +1962,8 @@ static void mlx5_vdpa_set_vq_cb(struct vdpa_device *vdev, u16 idx, struct vdpa_c
        struct mlx5_vdpa_net *ndev = to_mlx5_vdpa_ndev(mvdev);
 
        ndev->event_cbs[idx] = *cb;
+       if (is_ctrl_vq_idx(mvdev, idx))
+               mvdev->cvq.event_cb = *cb;
 }
 
 static void mlx5_cvq_notify(struct vringh *vring)