OSDN Git Service

net/mlx5: E-Switch, Improve error messages in term table creation
authorYevgeny Kliteynik <kliteyn@nvidia.com>
Sat, 6 Feb 2021 13:44:53 +0000 (15:44 +0200)
committerSaeed Mahameed <saeedm@nvidia.com>
Tue, 20 Apr 2021 03:17:18 +0000 (20:17 -0700)
Add error code to the error messages and removed duplicated message:
if termination table creation failed, we already get an error message
in mlx5_eswitch_termtbl_create, so no need for the additional error print
in the calling function.

Signed-off-by: Yevgeny Kliteynik <kliteyn@nvidia.com>
Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads_termtbl.c

index ec67956..a81ece9 100644 (file)
@@ -83,14 +83,16 @@ 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\n");
+               esw_warn(dev, "Failed to create termination table (error %d)\n",
+                        IS_ERR(tt->termtbl));
                return -EOPNOTSUPP;
        }
 
        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\n");
+               esw_warn(dev, "Failed to create termination table rule (error %d)\n",
+                        IS_ERR(tt->rule));
                goto add_flow_err;
        }
        return 0;
@@ -140,10 +142,9 @@ mlx5_eswitch_termtbl_get_create(struct mlx5_eswitch *esw,
        memcpy(&tt->flow_act, flow_act, sizeof(*flow_act));
 
        err = mlx5_eswitch_termtbl_create(esw->dev, tt, flow_act);
-       if (err) {
-               esw_warn(esw->dev, "Failed to create termination table\n");
+       if (err)
                goto tt_create_err;
-       }
+
        hash_add(esw->offloads.termtbl_tbl, &tt->termtbl_hlist, hash_key);
 tt_add_ref:
        tt->ref_count++;
@@ -282,7 +283,8 @@ 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 create termination table\n");
+                       esw_warn(esw->dev, "Failed to get termination table (error %d)\n",
+                                IS_ERR(tt));
                        goto revert_changes;
                }
                attr->dests[num_vport_dests].termtbl = tt;