net/mlx5e: Allow mlx5e_switch_priv_channels to fail and recover
authorMaxim Mikityanskiy <maximmi@mellanox.com>
Wed, 13 Nov 2019 16:07:29 +0000 (18:07 +0200)
committerSaeed Mahameed <saeedm@mellanox.com>
Wed, 26 Feb 2020 01:05:59 +0000 (17:05 -0800)
commit35a78ed4c351319e8840d99ba9032bf2d175e168
treed209d4926c4085c4948e23cb6fd0f7d7885fee30
parent600a3952a2a6228246fa2acb084f2e4522ca9cb1
net/mlx5e: Allow mlx5e_switch_priv_channels to fail and recover

Currently mlx5e_switch_priv_channels expects that the preactivate hook
doesn't fail, however, it can fail, because it may set hardware
parameters. This commit addresses this issue and provides a way to
recover from failures of the preactivate hook: the old channels are not
closed until the point where nothing can fail anymore, so in case
preactivate fails, the driver can roll back the old channels and
activate them again.

Signed-off-by: Maxim Mikityanskiy <maximmi@mellanox.com>
Reviewed-by: Tariq Toukan <tariqt@mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
drivers/net/ethernet/mellanox/mlx5/core/en_main.c