]> git.baikalelectronics.ru Git - kernel.git/commitdiff
net/mlx5e: Again mutually exclude RX-FCS and RX-port-timestamp
authorWill Mortensen <will@extrahop.com>
Fri, 6 Oct 2023 05:37:06 +0000 (22:37 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 19 Oct 2023 21:08:53 +0000 (23:08 +0200)
[ Upstream commit da6192ca72d5ad913d109d43dc896290ad05d98f ]

Commit 1e66220948df8 ("net/mlx5e: Update rx ring hw mtu upon each rx-fcs
flag change") seems to have accidentally inverted the logic added in
commit 0bc73ad46a76 ("net/mlx5e: Mutually exclude RX-FCS and
RX-port-timestamp").

The impact of this is a little unclear since it seems the FCS scattered
with RX-FCS is (usually?) correct regardless.

Fixes: 1e66220948df8 ("net/mlx5e: Update rx ring hw mtu upon each rx-fcs flag change")
Tested-by: Charlotte Tan <charlotte@extrahop.com>
Reviewed-by: Charlotte Tan <charlotte@extrahop.com>
Cc: Adham Faris <afaris@nvidia.com>
Cc: Aya Levin <ayal@nvidia.com>
Cc: Tariq Toukan <tariqt@nvidia.com>
Cc: Moshe Shemesh <moshe@nvidia.com>
Cc: Saeed Mahameed <saeedm@nvidia.com>
Signed-off-by: Will Mortensen <will@extrahop.com>
Reviewed-by: Tariq Toukan <tariqt@nvidia.com>
Link: https://lore.kernel.org/r/20231006053706.514618-1-will@extrahop.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/ethernet/mellanox/mlx5/core/en_main.c

index 4e7daa382bc0538eadbc60290172584b3ab2983c..42e6f2fcf5f59165baaa56778151a995db2d6359 100644 (file)
@@ -3862,13 +3862,14 @@ static int set_feature_rx_fcs(struct net_device *netdev, bool enable)
        struct mlx5e_channels *chs = &priv->channels;
        struct mlx5e_params new_params;
        int err;
+       bool rx_ts_over_crc = !enable;
 
        mutex_lock(&priv->state_lock);
 
        new_params = chs->params;
        new_params.scatter_fcs_en = enable;
        err = mlx5e_safe_switch_params(priv, &new_params, mlx5e_set_rx_port_ts_wrap,
-                                      &new_params.scatter_fcs_en, true);
+                                      &rx_ts_over_crc, true);
        mutex_unlock(&priv->state_lock);
        return err;
 }