src/dpdk/drivers/net/mlx4/mlx4_mr.c
static void
mr_free(struct mlx4_mr *mr)
{
	if (mr == NULL)
		return;
	DEBUG("freeing MR(%p):", (void *)mr);
	if (mr->ibv_mr != NULL)
		claim_zero(mlx4_glue->dereg_mr(mr->ibv_mr));
	if (mr->ms_bmp != NULL)
		rte_bitmap_free(mr->ms_bmp);
	rte_free(mr);
}
/**
 * Free MR resources. MR lock must not be held to avoid a deadlock. rte_free()
 * can raise memory free event and the callback function will spin on the lock.
 *
 * @param mr
 *   Pointer to MR to free.
 */
Free MR resources. MR lock must not be held to avoid a deadlock. rte_free()
can raise memory free event and the callback function will spin on the lock.

@param mr
Pointer to MR to free.
Free MR resources . MR lock must not be held to avoid a deadlock . rte_free () can raise memory free event and the callback function will spin on the lock . @param mr Pointer to MR to free .
static void
mr_free(struct mlx4_mr *mr)
{
	if (mr == NULL)
		return;
	DEBUG("freeing MR(%p):", (void *)mr);
	if (mr->ibv_mr != NULL)
		claim_zero(mlx4_glue->dereg_mr(mr->ibv_mr));
	if (mr->ms_bmp != NULL)
		rte_bitmap_free(mr->ms_bmp);
	rte_free(mr);
}
static void mr_free ( struct mlx4_mr * mr ) { if ( mr == NULL ) return ; DEBUG ( " " , ( void * ) mr ) ; if ( mr -> ibv_mr != NULL ) claim_zero ( mlx4_glue -> dereg_mr ( mr -> ibv_mr ) ) ; if ( mr -> ms_bmp != NULL ) rte_bitmap_free ( mr -> ms_bmp ) ; rte_free ( mr ) ; }
Free MR resources.
Free MR resources .