[PATCH net-next 1/1] net: stmmac: check CBS input values before configuration

Wojciech Drewek wojciech.drewek at intel.com
Fri Oct 27 03:07:43 PDT 2023



On 27.10.2023 08:11, Gan Yi Fang wrote:
> From: Michael Sit Wei Hong <michael.wei.hong.sit at intel.com>
> 
> Add check for below conditions before proceeding to configuration.
> A message will be prompted if the input value is invalid.
> 
> Idleslope minus sendslope should equal speed_div.
> Idleslope is always a positive value.
> Sendslope is always a negative value.
> Hicredit is always a positive value.
> Locredit is always a negative value.

Can those values be equal to 0? The code allows it but the commit msg doesn't mention that.
Some drivers does not allow 0, lan966x_cbs_add e.g. Would be good to double check that.

> 
> Signed-off-by: Michael Sit Wei Hong <michael.wei.hong.sit at intel.com>
> Signed-off-by: Gan, Yi Fang <yi.fang.gan at intel.com>
> ---
>  drivers/net/ethernet/stmicro/stmmac/stmmac_tc.c | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_tc.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_tc.c
> index ac41ef4cbd2f..e8a079946f84 100644
> --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_tc.c
> +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_tc.c
> @@ -381,6 +381,11 @@ static int tc_setup_cbs(struct stmmac_priv *priv,
>  		return -EOPNOTSUPP;
>  	}
>  
> +	if ((qopt->idleslope - qopt->sendslope != speed_div) ||
> +	    qopt->idleslope < 0 || qopt->sendslope > 0 ||
> +	    qopt->hicredit < 0 || qopt->locredit > 0)
> +		return -EINVAL;
> +
>  	mode_to_use = priv->plat->tx_queues_cfg[queue].mode_to_use;
>  	if (mode_to_use == MTL_QUEUE_DCB && qopt->enable) {
>  		ret = stmmac_dma_qmode(priv, priv->ioaddr, queue, MTL_QUEUE_AVB);



More information about the linux-arm-kernel mailing list