aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/drivers/net/ethernet/mellanox
diff options
context:
space:
mode:
authorAya Levin <ayal@mellanox.com>2020-07-01 12:21:53 +0300
committerSaeed Mahameed <saeedm@mellanox.com>2020-07-28 12:55:35 -0700
commit5cd39b6e9a420329a9a408894be7ba8aa7dd755e (patch)
treee815266021c95067bc24d7abe9135c53ddaad37e /drivers/net/ethernet/mellanox
parentnet/mlx5: Fix forward to next namespace (diff)
downloadwireguard-linux-5cd39b6e9a420329a9a408894be7ba8aa7dd755e.tar.xz
wireguard-linux-5cd39b6e9a420329a9a408894be7ba8aa7dd755e.zip
net/mlx5e: Fix error path of device attach
On failure to attach the netdev, fix the rollback by re-setting the device's state back to MLX5E_STATE_DESTROYING. Failing to attach doesn't stop statistics polling via .ndo_get_stats64. In this case, although the device is not attached, it falsely continues to query the firmware for counters. Setting the device's state back to MLX5E_STATE_DESTROYING prevents the firmware counters query. Fixes: 26e59d8077a3 ("net/mlx5e: Implement mlx5e interface attach/detach callbacks") Signed-off-by: Aya Levin <ayal@mellanox.com> Reviewed-by: Tariq Toukan <tariqt@mellanox.com> Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
Diffstat (limited to 'drivers/net/ethernet/mellanox')
-rw-r--r--drivers/net/ethernet/mellanox/mlx5/core/en_main.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_main.c b/drivers/net/ethernet/mellanox/mlx5/core/en_main.c
index 081f15074cac..31f9ecae98df 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/en_main.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/en_main.c
@@ -5390,6 +5390,8 @@ err_cleanup_tx:
profile->cleanup_tx(priv);
out:
+ set_bit(MLX5E_STATE_DESTROYING, &priv->state);
+ cancel_work_sync(&priv->update_stats_work);
return err;
}