Merge tag 'v5.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux...
[sfrench/cifs-2.6.git] / drivers / net / ethernet / mellanox / mlx5 / core / fs_core.c
index 0be3eb86dd84e7abc0d7aac32d19b4d7643bc91d..9fcef7e3b86d205c1b4977063e2795cddfba533e 100644 (file)
@@ -819,7 +819,7 @@ static int update_root_ft_create(struct mlx5_flow_table *ft, struct fs_prio
        struct mlx5_flow_root_namespace *root = find_root(&prio->node);
        struct mlx5_ft_underlay_qp *uqp;
        int min_level = INT_MAX;
-       int err;
+       int err = 0;
        u32 qpn;
 
        if (root->root_ft)
@@ -2516,8 +2516,16 @@ static int init_fdb_root_ns(struct mlx5_flow_steering *steering)
        if (!steering->fdb_sub_ns)
                return -ENOMEM;
 
+       maj_prio = fs_create_prio(&steering->fdb_root_ns->ns, FDB_BYPASS_PATH,
+                                 1);
+       if (IS_ERR(maj_prio)) {
+               err = PTR_ERR(maj_prio);
+               goto out_err;
+       }
+
        levels = 2 * FDB_MAX_PRIO * (FDB_MAX_CHAIN + 1);
-       maj_prio = fs_create_prio_chained(&steering->fdb_root_ns->ns, 0,
+       maj_prio = fs_create_prio_chained(&steering->fdb_root_ns->ns,
+                                         FDB_FAST_PATH,
                                          levels);
        if (IS_ERR(maj_prio)) {
                err = PTR_ERR(maj_prio);
@@ -2542,7 +2550,7 @@ static int init_fdb_root_ns(struct mlx5_flow_steering *steering)
                steering->fdb_sub_ns[chain] = ns;
        }
 
-       maj_prio = fs_create_prio(&steering->fdb_root_ns->ns, 1, 1);
+       maj_prio = fs_create_prio(&steering->fdb_root_ns->ns, FDB_SLOW_PATH, 1);
        if (IS_ERR(maj_prio)) {
                err = PTR_ERR(maj_prio);
                goto out_err;