Re: [PATCH net V2 1/4] net/mlx5: SD, serialize SD LAG init/cleanup against LAG mode changes
From: Paolo Abeni
Date: Thu Sep 10 2026 - 07:29:34 EST
On 9/6/26 9:13 AM, Tariq Toukan wrote:
> void mlx5_lag_enable_change(struct mlx5_core_dev *dev)
> diff --git a/drivers/net/ethernet/mellanox/mlx5/core/lib/sd.c b/drivers/net/ethernet/mellanox/mlx5/core/lib/sd.c
> index 4cdc50cd6f03..99cf455a61e1 100644
> --- a/drivers/net/ethernet/mellanox/mlx5/core/lib/sd.c
> +++ b/drivers/net/ethernet/mellanox/mlx5/core/lib/sd.c
> @@ -345,7 +345,14 @@ static void sd_lag_init(struct mlx5_core_dev *dev)
> return;
> }
>
> +recheck:
> mutex_lock(&ldev->lock);
> + if (ldev->mode_changes_in_progress) {
> + mutex_unlock(&ldev->lock);
> + msleep(100);
> + goto recheck;
My reading of the clashiko report is that the above introduces a
deadlock.
While I agree that the fairness issue raised by sashiko.dev
could be deferred to net-next, I think we must avoid introducing
the mentioned deadlock.
/P