--- /dev/null
+From ea5015bf651c58c59e98f42f8f326cdaf5e5eac8 Mon Sep 17 00:00:00 2001
+From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+Date: Thu, 23 Sep 2021 13:01:44 +0200
+Subject: [PATCH] Revert "net/mlx5: Register to devlink ingress VLAN filter trap"
+
+From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+This reverts commit fe6322774ca28669868a7e231e173e09f7422118 which was
+commit 82e6c96f04e13c72d91777455836ffd012853caa upstream.
+
+It has been reported to cause regressions so should be dropped.
+
+Reported-by: <Patrick.Mclean@sony.com>
+Link: https://lore.kernel.org/r/BY5PR13MB3604D3031E984CA34A57B7C9EEA09@BY5PR13MB3604.namprd13.prod.outlook.com
+Cc: Aya Levin <ayal@nvidia.com>
+Cc: Tariq Toukan <tariqt@nvidia.com>
+Cc: Tariq Toukan <tariqt@nvidia.com>
+Cc: Saeed Mahameed <saeedm@nvidia.com>
+Cc: Jakub Kicinski <kuba@kernel.org>
+Cc: Sasha Levin <sashal@kernel.org>
+Cc: Leon Romanovsky <leonro@nvidia.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ 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));