lkml.org 
[lkml]   [2022]   [May]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.15 048/135] net/mlx5e: Fix trust state reset in reload
    Date
    From: Moshe Tal <moshet@nvidia.com>

    commit b781bff882d16175277ca129c382886cb4c74a2c upstream.

    Setting dscp2prio during the driver reload can cause dcb ieee app list to
    be not empty after the reload finish and as a result to a conflict between
    the priority trust state reported by the app and the state in the device
    register.

    Reset the dcb ieee app list on initialization in case this is
    conflicting with the register status.

    Fixes: 2a5e7a1344f4 ("net/mlx5e: Add dcbnl dscp to priority support")
    Signed-off-by: Moshe Tal <moshet@nvidia.com>
    Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    ---
    drivers/net/ethernet/mellanox/mlx5/core/en_dcbnl.c | 10 ++++++++++
    1 file changed, 10 insertions(+)

    --- a/drivers/net/ethernet/mellanox/mlx5/core/en_dcbnl.c
    +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_dcbnl.c
    @@ -1198,6 +1198,16 @@ static int mlx5e_trust_initialize(struct
    if (err)
    return err;

    + if (priv->dcbx_dp.trust_state == MLX5_QPTS_TRUST_PCP && priv->dcbx.dscp_app_cnt) {
    + /*
    + * Align the driver state with the register state.
    + * Temporary state change is required to enable the app list reset.
    + */
    + priv->dcbx_dp.trust_state = MLX5_QPTS_TRUST_DSCP;
    + mlx5e_dcbnl_delete_app(priv);
    + priv->dcbx_dp.trust_state = MLX5_QPTS_TRUST_PCP;
    + }
    +
    mlx5e_params_calc_trust_tx_min_inline_mode(priv->mdev, &priv->channels.params,
    priv->dcbx_dp.trust_state);


    \
     
     \ /
      Last update: 2022-05-10 16:01    [W:7.198 / U:0.136 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site