On 9/24/2021 3:44 PM, Greg Kroah-Hartman wrote:
From: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
This reverts commit fe6322774ca28669868a7e231e173e09f7422118 which was
commit 82e6c96f04e13c72d91777455836ffd012853caa upstream.
It has been reported to cause regressions so should be dropped.
Reported-by: <Patrick.Mclean@xxxxxxxx>
Link: https://lore.kernel.org/r/BY5PR13MB3604D3031E984CA34A57B7C9EEA09@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Cc: Aya Levin <ayal@xxxxxxxxxx>
Cc: Tariq Toukan <tariqt@xxxxxxxxxx>
Cc: Tariq Toukan <tariqt@xxxxxxxxxx>
Cc: Saeed Mahameed <saeedm@xxxxxxxxxx>
Cc: Jakub Kicinski <kuba@xxxxxxxxxx>
Cc: Sasha Levin <sashal@xxxxxxxxxx>
Cc: Leon Romanovsky <leonro@xxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
---
Hi Greg,
This issue is solved within the same upstream series, by upstream patch:
[1] 241dc159391f net/mlx5: Notify on trap action by blocking event
We didn't spot the issue back then, the two patches should've been
submitted in a reversed order in the original series to avoid this
temporary degradation.
This patch "net/mlx5: Register to devlink ingress VLAN filter trap" is
not a bug fix, not really needed in 5.10 stable.
I believe you cherry-picked it into 5.10 to handle some code context
problem?
In summary, if the revert works for you w/o further degradation then we
are fine with it. The alternative is to import the whole original
series, especially the patch mentioned above [1].
Thanks,
Tariq
drivers/net/ethernet/mellanox/mlx5/core/devlink.c | 51 ----------------------
1 file changed, 51 deletions(-)
--- a/drivers/net/ethernet/mellanox/mlx5/core/devlink.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/devlink.c
@@ -376,48 +376,6 @@ static void mlx5_devlink_set_params_init
#endif
}
-#define MLX5_TRAP_DROP(_id, _group_id) \
- DEVLINK_TRAP_GENERIC(DROP, DROP, _id, \
- DEVLINK_TRAP_GROUP_GENERIC_ID_##_group_id, \
- DEVLINK_TRAP_METADATA_TYPE_F_IN_PORT)
-
-static const struct devlink_trap mlx5_traps_arr[] = {
- MLX5_TRAP_DROP(INGRESS_VLAN_FILTER, L2_DROPS),
-};
-
-static const struct devlink_trap_group mlx5_trap_groups_arr[] = {
- DEVLINK_TRAP_GROUP_GENERIC(L2_DROPS, 0),
-};
-
-static int mlx5_devlink_traps_register(struct devlink *devlink)
-{
- struct mlx5_core_dev *core_dev = devlink_priv(devlink);
- int err;
-
- err = devlink_trap_groups_register(devlink, mlx5_trap_groups_arr,
- ARRAY_SIZE(mlx5_trap_groups_arr));
- if (err)
- return err;
-
- err = devlink_traps_register(devlink, mlx5_traps_arr, ARRAY_SIZE(mlx5_traps_arr),
- &core_dev->priv);
- if (err)
- goto err_trap_group;
- return 0;
-
-err_trap_group:
- devlink_trap_groups_unregister(devlink, mlx5_trap_groups_arr,
- ARRAY_SIZE(mlx5_trap_groups_arr));
- return err;
-}
-
-static void mlx5_devlink_traps_unregister(struct devlink *devlink)
-{
- devlink_traps_unregister(devlink, mlx5_traps_arr, ARRAY_SIZE(mlx5_traps_arr));
- devlink_trap_groups_unregister(devlink, mlx5_trap_groups_arr,
- ARRAY_SIZE(mlx5_trap_groups_arr));
-}
-
int mlx5_devlink_register(struct devlink *devlink, struct device *dev)
{
int err;
@@ -432,16 +390,8 @@ int mlx5_devlink_register(struct devlink
goto params_reg_err;
mlx5_devlink_set_params_init_values(devlink);
devlink_params_publish(devlink);
-
- err = mlx5_devlink_traps_register(devlink);
- if (err)
- goto traps_reg_err;
-
return 0;
-traps_reg_err:
- devlink_params_unregister(devlink, mlx5_devlink_params,
- ARRAY_SIZE(mlx5_devlink_params));
params_reg_err:
devlink_unregister(devlink);
return err;
@@ -449,7 +399,6 @@ params_reg_err:
void mlx5_devlink_unregister(struct devlink *devlink)
{
- mlx5_devlink_traps_unregister(devlink);
devlink_params_unpublish(devlink);
devlink_params_unregister(devlink, mlx5_devlink_params,
ARRAY_SIZE(mlx5_devlink_params));