mirror of https://gitee.com/openkylin/linux.git
net/mlx4_core: Fix warnings during boot on driverinit param set failures
During boot, mlx4_core sets the driverinit configuration parameters and
updates the devlink module on the initial values calling
devlink_param_driverinit_value_set().
If devlink_param_driverinit_value_set() returns an error mlx4_core
reports kernel module warning.
This caused false alarm during boot in case kernel was compiled with
CONFIG_NET_DEVLINK off.
Fix by removing warning reported in case
devlink_param_driverinit_value_set() fails.
This actually makes the function mlx4_devlink_set_init_value()
redundant to using directly devlink_param_driverinit_value_set() and so
removed.
It fixes the following kernel trace:
mlx4_core 0000:00:06.0: devlink set parameter 0 value failed (err = -95)
mlx4_core 0000:00:06.0: devlink set parameter 1 value failed (err = -95)
mlx4_core 0000:00:06.0: devlink set parameter 4 value failed (err = -95)
mlx4_core 0000:00:06.0: devlink set parameter 5 value failed (err = -95)
mlx4_core 0000:00:06.0: devlink set parameter 3 value failed (err = -95)
Fixes: bd1b51dc66
("mlx4: Add mlx4 initial parameters table and register it")
Signed-off-by: Moshe Shemesh <moshe@mellanox.com>
Signed-off-by: Tariq Toukan <tariqt@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
a1f8dd34e6
commit
2645060834
|
@ -260,47 +260,34 @@ static const struct devlink_param mlx4_devlink_params[] = {
|
||||||
NULL, NULL, NULL),
|
NULL, NULL, NULL),
|
||||||
};
|
};
|
||||||
|
|
||||||
static void mlx4_devlink_set_init_value(struct devlink *devlink, u32 param_id,
|
|
||||||
union devlink_param_value init_val)
|
|
||||||
{
|
|
||||||
struct mlx4_priv *priv = devlink_priv(devlink);
|
|
||||||
struct mlx4_dev *dev = &priv->dev;
|
|
||||||
int err;
|
|
||||||
|
|
||||||
err = devlink_param_driverinit_value_set(devlink, param_id, init_val);
|
|
||||||
if (err)
|
|
||||||
mlx4_warn(dev,
|
|
||||||
"devlink set parameter %u value failed (err = %d)",
|
|
||||||
param_id, err);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void mlx4_devlink_set_params_init_values(struct devlink *devlink)
|
static void mlx4_devlink_set_params_init_values(struct devlink *devlink)
|
||||||
{
|
{
|
||||||
union devlink_param_value value;
|
union devlink_param_value value;
|
||||||
|
|
||||||
value.vbool = !!mlx4_internal_err_reset;
|
value.vbool = !!mlx4_internal_err_reset;
|
||||||
mlx4_devlink_set_init_value(devlink,
|
devlink_param_driverinit_value_set(devlink,
|
||||||
DEVLINK_PARAM_GENERIC_ID_INT_ERR_RESET,
|
DEVLINK_PARAM_GENERIC_ID_INT_ERR_RESET,
|
||||||
value);
|
value);
|
||||||
|
|
||||||
value.vu32 = 1UL << log_num_mac;
|
value.vu32 = 1UL << log_num_mac;
|
||||||
mlx4_devlink_set_init_value(devlink,
|
devlink_param_driverinit_value_set(devlink,
|
||||||
DEVLINK_PARAM_GENERIC_ID_MAX_MACS, value);
|
DEVLINK_PARAM_GENERIC_ID_MAX_MACS,
|
||||||
|
value);
|
||||||
|
|
||||||
value.vbool = enable_64b_cqe_eqe;
|
value.vbool = enable_64b_cqe_eqe;
|
||||||
mlx4_devlink_set_init_value(devlink,
|
devlink_param_driverinit_value_set(devlink,
|
||||||
MLX4_DEVLINK_PARAM_ID_ENABLE_64B_CQE_EQE,
|
MLX4_DEVLINK_PARAM_ID_ENABLE_64B_CQE_EQE,
|
||||||
value);
|
value);
|
||||||
|
|
||||||
value.vbool = enable_4k_uar;
|
value.vbool = enable_4k_uar;
|
||||||
mlx4_devlink_set_init_value(devlink,
|
devlink_param_driverinit_value_set(devlink,
|
||||||
MLX4_DEVLINK_PARAM_ID_ENABLE_4K_UAR,
|
MLX4_DEVLINK_PARAM_ID_ENABLE_4K_UAR,
|
||||||
value);
|
value);
|
||||||
|
|
||||||
value.vbool = false;
|
value.vbool = false;
|
||||||
mlx4_devlink_set_init_value(devlink,
|
devlink_param_driverinit_value_set(devlink,
|
||||||
DEVLINK_PARAM_GENERIC_ID_REGION_SNAPSHOT,
|
DEVLINK_PARAM_GENERIC_ID_REGION_SNAPSHOT,
|
||||||
value);
|
value);
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline void mlx4_set_num_reserved_uars(struct mlx4_dev *dev,
|
static inline void mlx4_set_num_reserved_uars(struct mlx4_dev *dev,
|
||||||
|
|
Loading…
Reference in New Issue