mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-26 10:49:33 +00:00
net/mlx5: Add error prints when validate ETS failed
Upon set ETS failure due to user invalid input, add error prints to
specify the exact error to the user.
Fixes: cdcf11212b
('net/mlx5e: Validate BW weight values of ETS')
Signed-off-by: Eran Ben Elisha <eranbe@mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
bf50082c15
commit
1722b9694e
1 changed files with 16 additions and 5 deletions
|
@ -127,29 +127,40 @@ int mlx5e_dcbnl_ieee_setets_core(struct mlx5e_priv *priv, struct ieee_ets *ets)
|
|||
return mlx5_set_port_tc_bw_alloc(mdev, tc_tx_bw);
|
||||
}
|
||||
|
||||
static int mlx5e_dbcnl_validate_ets(struct ieee_ets *ets)
|
||||
static int mlx5e_dbcnl_validate_ets(struct net_device *netdev,
|
||||
struct ieee_ets *ets)
|
||||
{
|
||||
int bw_sum = 0;
|
||||
int i;
|
||||
|
||||
/* Validate Priority */
|
||||
for (i = 0; i < IEEE_8021QAZ_MAX_TCS; i++) {
|
||||
if (ets->prio_tc[i] >= MLX5E_MAX_PRIORITY)
|
||||
if (ets->prio_tc[i] >= MLX5E_MAX_PRIORITY) {
|
||||
netdev_err(netdev,
|
||||
"Failed to validate ETS: priority value greater than max(%d)\n",
|
||||
MLX5E_MAX_PRIORITY);
|
||||
return -EINVAL;
|
||||
}
|
||||
}
|
||||
|
||||
/* Validate Bandwidth Sum */
|
||||
for (i = 0; i < IEEE_8021QAZ_MAX_TCS; i++) {
|
||||
if (ets->tc_tsa[i] == IEEE_8021QAZ_TSA_ETS) {
|
||||
if (!ets->tc_tx_bw[i])
|
||||
if (!ets->tc_tx_bw[i]) {
|
||||
netdev_err(netdev,
|
||||
"Failed to validate ETS: BW 0 is illegal\n");
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
bw_sum += ets->tc_tx_bw[i];
|
||||
}
|
||||
}
|
||||
|
||||
if (bw_sum != 0 && bw_sum != 100)
|
||||
if (bw_sum != 0 && bw_sum != 100) {
|
||||
netdev_err(netdev,
|
||||
"Failed to validate ETS: BW sum is illegal\n");
|
||||
return -EINVAL;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -159,7 +170,7 @@ static int mlx5e_dcbnl_ieee_setets(struct net_device *netdev,
|
|||
struct mlx5e_priv *priv = netdev_priv(netdev);
|
||||
int err;
|
||||
|
||||
err = mlx5e_dbcnl_validate_ets(ets);
|
||||
err = mlx5e_dbcnl_validate_ets(netdev, ets);
|
||||
if (err)
|
||||
return err;
|
||||
|
||||
|
|
Loading…
Reference in a new issue