mlxsw_sp_rt6 = mlxsw_sp_rt6_create(rt_arr[i]);
                if (IS_ERR(mlxsw_sp_rt6)) {
                        err = PTR_ERR(mlxsw_sp_rt6);
-                       goto err_rt6_create;
+                       goto err_rt6_unwind;
                }
 
                list_add_tail(&mlxsw_sp_rt6->list, &fib6_entry->rt6_list);
 
        err = mlxsw_sp_nexthop6_group_update(mlxsw_sp, op_ctx, fib6_entry);
        if (err)
-               goto err_nexthop6_group_update;
+               goto err_rt6_unwind;
 
        return 0;
 
-err_nexthop6_group_update:
-       i = nrt6;
-err_rt6_create:
-       for (i--; i >= 0; i--) {
+err_rt6_unwind:
+       for (; i > 0; i--) {
                fib6_entry->nrt6--;
                mlxsw_sp_rt6 = list_last_entry(&fib6_entry->rt6_list,
                                               struct mlxsw_sp_rt6, list);
                mlxsw_sp_rt6 = mlxsw_sp_rt6_create(rt_arr[i]);
                if (IS_ERR(mlxsw_sp_rt6)) {
                        err = PTR_ERR(mlxsw_sp_rt6);
-                       goto err_rt6_create;
+                       goto err_rt6_unwind;
                }
                list_add_tail(&mlxsw_sp_rt6->list, &fib6_entry->rt6_list);
                fib6_entry->nrt6++;
 
        err = mlxsw_sp_nexthop6_group_get(mlxsw_sp, fib6_entry);
        if (err)
-               goto err_nexthop6_group_get;
+               goto err_rt6_unwind;
 
        err = mlxsw_sp_nexthop_group_vr_link(fib_entry->nh_group,
                                             fib_node->fib);
        mlxsw_sp_nexthop_group_vr_unlink(fib_entry->nh_group, fib_node->fib);
 err_nexthop_group_vr_link:
        mlxsw_sp_nexthop6_group_put(mlxsw_sp, fib_entry);
-err_nexthop6_group_get:
-       i = nrt6;
-err_rt6_create:
-       for (i--; i >= 0; i--) {
+err_rt6_unwind:
+       for (; i > 0; i--) {
                fib6_entry->nrt6--;
                mlxsw_sp_rt6 = list_last_entry(&fib6_entry->rt6_list,
                                               struct mlxsw_sp_rt6, list);