FAILED: patch "[PATCH] net/mlx5: Fix err prints and return when creating termination" failed to apply to 5.4-stable tree
Subsystems (3)
[email protected]
maintainerThe patch below does not apply to the 5.4-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
From fca086617af864efd20289774901221b2df06b39 Mon Sep 17 00:00:00 2001
From: Roi Dayan <[email protected]>
Date: Thu, 13 May 2021 15:00:53 +0300
Subject: [PATCH] net/mlx5: Fix err prints and return when creating termination
table
Fix print to print correct error code and not using IS_ERR() which will just result in always printing 1.
Also return real err instead of always -EOPNOTSUPP.
Fixes 10caabdaad5a ("net/mlx5e: Use termination table for VLAN push actions")
Signed-off-by Roi Dayan <[email protected]>
Reviewed-by Maor Dickman <[email protected]>
Signed-off-by Saeed Mahameed <[email protected]>
drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads_termtbl.c +11 -12
@@ -65,7 +65,7 @@ mlx5_eswitch_termtbl_create(struct mlx5_core_dev *dev, {struct mlx5_flow_table_attr ft_attr = {};struct mlx5_flow_namespace *root_ns; -int err; +int err, err2; root_ns =mlx5_get_flow_namespace (dev,MLX5_FLOW_NAMESPACE_FDB );if (!root_ns) {
@@ -83,26 +83,26 @@ mlx5_eswitch_termtbl_create(struct mlx5_core_dev *dev, ft_attr.autogroup.max_num_groups =1 ; tt->termtbl =mlx5_create_auto_grouped_flow_table (root_ns, &ft_attr);if (IS_ERR (tt->termtbl)) { -esw_warn (dev,"Failed to create termination table (error %d)\n" , -IS_ERR (tt->termtbl)); -return -EOPNOTSUPP ; + err =PTR_ERR (tt->termtbl); +esw_warn (dev,"Failed to create termination table, err %pe\n" , tt->termtbl); +return err; } tt->rule =mlx5_add_flow_rules (tt->termtbl,NULL , flow_act, &tt->dest,1 );if (IS_ERR (tt->rule)) { -esw_warn (dev,"Failed to create termination table rule (error %d)\n" , -IS_ERR (tt->rule)); + err =PTR_ERR (tt->rule); +esw_warn (dev,"Failed to create termination table rule, err %pe\n" , tt->rule); goto add_flow_err; }return 0 ; add_flow_err: - err =mlx5_destroy_flow_table (tt->termtbl); -if (err) -esw_warn (dev,"Failed to destroy termination table\n" ); + err2 =mlx5_destroy_flow_table (tt->termtbl); +if (err2) +esw_warn (dev,"Failed to destroy termination table, err %d\n" , err2); -return -EOPNOTSUPP ; +return err; } static struct mlx5_termtbl_handle *
@@ -270,8 +270,7 @@ mlx5_eswitch_add_termtbl_rule(struct mlx5_eswitch *esw, tt =mlx5_eswitch_termtbl_get_create (esw, &term_tbl_act, &dest[i], attr);if (IS_ERR (tt)) { -esw_warn (esw->dev,"Failed to get termination table (error %d)\n" , -IS_ERR (tt)); +esw_warn (esw->dev,"Failed to get termination table, err %pe\n" , tt); goto revert_changes; } attr->dests[num_vport_dests].termtbl = tt;