net/mlx5: Fix error flow in case of function_setup failure
Currently, if an error occurred during mlx5_function_setup(), we
keep dev->state as DEVICE_STATE_UP.
Fixing it by adding a goto label.
Fixes: e161105e58
("net/mlx5: Function setup/teardown procedures")
Signed-off-by: Shay Drory <shayd@mellanox.com>
Reviewed-by: Moshe Shemesh <moshe@mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
This commit is contained in:
parent
d37bd5e81e
commit
4f7400d5cb
|
@ -1195,7 +1195,7 @@ int mlx5_load_one(struct mlx5_core_dev *dev, bool boot)
|
||||||
|
|
||||||
err = mlx5_function_setup(dev, boot);
|
err = mlx5_function_setup(dev, boot);
|
||||||
if (err)
|
if (err)
|
||||||
goto out;
|
goto err_function;
|
||||||
|
|
||||||
if (boot) {
|
if (boot) {
|
||||||
err = mlx5_init_once(dev);
|
err = mlx5_init_once(dev);
|
||||||
|
@ -1233,6 +1233,7 @@ err_load:
|
||||||
mlx5_cleanup_once(dev);
|
mlx5_cleanup_once(dev);
|
||||||
function_teardown:
|
function_teardown:
|
||||||
mlx5_function_teardown(dev, boot);
|
mlx5_function_teardown(dev, boot);
|
||||||
|
err_function:
|
||||||
dev->state = MLX5_DEVICE_STATE_INTERNAL_ERROR;
|
dev->state = MLX5_DEVICE_STATE_INTERNAL_ERROR;
|
||||||
mutex_unlock(&dev->intf_state_mutex);
|
mutex_unlock(&dev->intf_state_mutex);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue