On Tue, Oct 27, 2020 at 11:22:50PM +0000, Ophir Munk wrote: > From: Tal Shnaiderman <tal...@nvidia.com> > > Implement Windows API mlx5_os_alloc_pd() and mlx5_os_dealloc_pd(). They > are equivalent to the Linux implementation. > > Signed-off-by: Tal Shnaiderman <tal...@nvidia.com> > Acked-by: Matan Azrad <ma...@nvidia.com> > --- > drivers/common/mlx5/rte_common_mlx5_exports.def | 3 +- > drivers/common/mlx5/windows/mlx5_common_os.c | 47 > +++++++++++++++++++++++++ > drivers/common/mlx5/windows/mlx5_common_os.h | 3 ++ > drivers/common/mlx5/windows/mlx5_win_ext.h | 6 ++++ > 4 files changed, 58 insertions(+), 1 deletion(-) > > diff --git a/drivers/common/mlx5/rte_common_mlx5_exports.def > b/drivers/common/mlx5/rte_common_mlx5_exports.def > + * @return > + * The mlx5_pd if pd is valid, NULL and errno otherwise. > + */ > +void * > +mlx5_os_alloc_pd(void *ctx) > +{ > + struct mlx5_pd *ppd = mlx5_malloc(MLX5_MEM_ZERO, > + sizeof(struct mlx5_pd), 0, SOCKET_ID_ANY); > + if (!ppd) > + return NULL; > + > + struct mlx5_devx_obj *obj = mlx5_devx_cmd_alloc_pd(ctx); > + if (!obj)
Free ppd here, to avoid memory leak. > + return NULL; > + > + ppd->obj = obj; > + ppd->pdn = obj->id; > + ppd->devx_ctx = ctx; > + return ppd; > +} > +