As part of the recover flow, driver calls mlx5e_open_locked, which eventually calls netif_set_real_num_tx_queues. RTNL lock must be held as part of this flow in advance, like in other flows in the driver.
Fixes: aba25279c100 ("net/mlx5e: Add TX reporter support") Signed-off-by: Eran Ben Elisha <era...@mellanox.com> Reported-by: Maria Pasechnik <mar...@mellanox.com> Reviewed-by: Moshe Shemesh <mo...@mellanox.com> --- drivers/net/ethernet/mellanox/mlx5/core/en/reporter_tx.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en/reporter_tx.c b/drivers/net/ethernet/mellanox/mlx5/core/en/reporter_tx.c index 7238cda670ba..5c29de7bd1d6 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en/reporter_tx.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en/reporter_tx.c @@ -173,10 +173,12 @@ static int mlx5e_tx_reporter_recover_all(struct mlx5e_priv *priv) { int err; + rtnl_lock(); mutex_lock(&priv->state_lock); mlx5e_close_locked(priv->netdev); err = mlx5e_open_locked(priv->netdev); mutex_unlock(&priv->state_lock); + rtnl_unlock(); return err; } -- 2.17.1