|
@@ -4860,19 +4860,19 @@ static int mlx5_ib_stage_ib_reg_init(struct mlx5_ib_dev *dev)
|
|
|
return ib_register_device(&dev->ib_dev, NULL);
|
|
|
}
|
|
|
|
|
|
-static void mlx5_ib_stage_ib_reg_cleanup(struct mlx5_ib_dev *dev)
|
|
|
+static void mlx5_ib_stage_pre_ib_reg_umr_cleanup(struct mlx5_ib_dev *dev)
|
|
|
{
|
|
|
- ib_unregister_device(&dev->ib_dev);
|
|
|
+ destroy_umrc_res(dev);
|
|
|
}
|
|
|
|
|
|
-static int mlx5_ib_stage_umr_res_init(struct mlx5_ib_dev *dev)
|
|
|
+static void mlx5_ib_stage_ib_reg_cleanup(struct mlx5_ib_dev *dev)
|
|
|
{
|
|
|
- return create_umr_res(dev);
|
|
|
+ ib_unregister_device(&dev->ib_dev);
|
|
|
}
|
|
|
|
|
|
-static void mlx5_ib_stage_umr_res_cleanup(struct mlx5_ib_dev *dev)
|
|
|
+static int mlx5_ib_stage_post_ib_reg_umr_init(struct mlx5_ib_dev *dev)
|
|
|
{
|
|
|
- destroy_umrc_res(dev);
|
|
|
+ return create_umr_res(dev);
|
|
|
}
|
|
|
|
|
|
static int mlx5_ib_stage_delay_drop_init(struct mlx5_ib_dev *dev)
|
|
@@ -4982,12 +4982,15 @@ static const struct mlx5_ib_profile pf_profile = {
|
|
|
STAGE_CREATE(MLX5_IB_STAGE_BFREG,
|
|
|
mlx5_ib_stage_bfrag_init,
|
|
|
mlx5_ib_stage_bfrag_cleanup),
|
|
|
+ STAGE_CREATE(MLX5_IB_STAGE_PRE_IB_REG_UMR,
|
|
|
+ NULL,
|
|
|
+ mlx5_ib_stage_pre_ib_reg_umr_cleanup),
|
|
|
STAGE_CREATE(MLX5_IB_STAGE_IB_REG,
|
|
|
mlx5_ib_stage_ib_reg_init,
|
|
|
mlx5_ib_stage_ib_reg_cleanup),
|
|
|
- STAGE_CREATE(MLX5_IB_STAGE_UMR_RESOURCES,
|
|
|
- mlx5_ib_stage_umr_res_init,
|
|
|
- mlx5_ib_stage_umr_res_cleanup),
|
|
|
+ STAGE_CREATE(MLX5_IB_STAGE_POST_IB_REG_UMR,
|
|
|
+ mlx5_ib_stage_post_ib_reg_umr_init,
|
|
|
+ NULL),
|
|
|
STAGE_CREATE(MLX5_IB_STAGE_DELAY_DROP,
|
|
|
mlx5_ib_stage_delay_drop_init,
|
|
|
mlx5_ib_stage_delay_drop_cleanup),
|