Skip to content

Commit

Permalink
vdpa/mlx5: workaround queue stop with traffic
Browse files Browse the repository at this point in the history
[ upstream commit b5e51ed ]

When the event thread polls traffic and a virtq is stopping, the FW loses
synchronization in the virtq indexes.

It causes LM failure on synchronization between the HOST indexes to
the GUEST indexes.

Unset the event thread before the queue stop in the LM process.

Fixes: 31b9c29 ("vdpa/mlx5: support close and config operations")

Signed-off-by: Matan Azrad <matan@nvidia.com>
Acked-by: Xueming Li <xuemingl@nvidia.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
  • Loading branch information
matan1559 authored and bluca committed Feb 14, 2022
1 parent f3cd532 commit 16ba91d
Showing 1 changed file with 2 additions and 2 deletions.
4 changes: 2 additions & 2 deletions drivers/vdpa/mlx5/mlx5_vdpa.c
Original file line number Diff line number Diff line change
Expand Up @@ -281,10 +281,10 @@ mlx5_vdpa_dev_close(int vid)
DRV_LOG(ERR, "Invalid vDPA device: %s.", vdev->device->name);
return -1;
}
if (priv->configured)
ret |= mlx5_vdpa_lm_log(priv);
mlx5_vdpa_err_event_unset(priv);
mlx5_vdpa_cqe_event_unset(priv);
if (priv->configured)
ret |= mlx5_vdpa_lm_log(priv);
mlx5_vdpa_steer_unset(priv);
mlx5_vdpa_virtqs_release(priv);
mlx5_vdpa_event_qp_global_release(priv);
Expand Down

0 comments on commit 16ba91d

Please sign in to comment.