net/mlx5e: Fix interoperability between XSK and ICOSQ recovery flow
[ Upstream commit 17958d7c ] Both regular RQ and XSKRQ use the same ICOSQ for UMRs. When doing recovery for the ICOSQ, don't forget to deactivate XSKRQ. XSK can be opened and closed while channels are active, so a new mutex prevents the ICOSQ recovery from running at the same time. The ICOSQ recovery deactivates and reactivates XSKRQ, so any parallel change in XSK state would break consistency. As the regular RQ is running, it's not enough to just flush the recovery work, because it can be rescheduled. Fixes: be5323c8 ("net/mlx5e: Report and recover from CQE error on ICOSQ") Signed-off-by:Maxim Mikityanskiy <maximmi@nvidia.com> Signed-off-by:
Saeed Mahameed <saeedm@nvidia.com> Signed-off-by:
Sasha Levin <sashal@kernel.org>
parent
07f13d58
No related branches found
No related tags found
Showing
- drivers/net/ethernet/mellanox/mlx5/core/en.h 2 additions, 0 deletionsdrivers/net/ethernet/mellanox/mlx5/core/en.h
- drivers/net/ethernet/mellanox/mlx5/core/en/health.h 2 additions, 0 deletionsdrivers/net/ethernet/mellanox/mlx5/core/en/health.h
- drivers/net/ethernet/mellanox/mlx5/core/en/reporter_rx.c 34 additions, 1 deletiondrivers/net/ethernet/mellanox/mlx5/core/en/reporter_rx.c
- drivers/net/ethernet/mellanox/mlx5/core/en/xsk/setup.c 15 additions, 1 deletiondrivers/net/ethernet/mellanox/mlx5/core/en/xsk/setup.c
- drivers/net/ethernet/mellanox/mlx5/core/en_main.c 5 additions, 2 deletionsdrivers/net/ethernet/mellanox/mlx5/core/en_main.c
Loading
Please register or sign in to comment