src/dpdk/drivers/net/bnxt/bnxt_ring.c
void bnxt_free_async_cp_ring(struct bnxt *bp)
{
	struct bnxt_cp_ring_info *cpr = bp->async_cp_ring;

	if (BNXT_NUM_ASYNC_CPR(bp) == 0 || cpr == NULL)
		return;

	if (BNXT_HAS_NQ(bp))
		bnxt_free_nq_ring(bp, cpr);
	else
		bnxt_free_cp_ring(bp, cpr);

	bnxt_free_ring(cpr->cp_ring_struct);
	rte_free(cpr->cp_ring_struct);
	cpr->cp_ring_struct = NULL;
	rte_free(cpr);
	bp->async_cp_ring = NULL;
}
/* Free dedicated async completion ring. */
Free dedicated async completion ring.
Free dedicated async completion ring .
void bnxt_free_async_cp_ring(struct bnxt *bp)
{
	struct bnxt_cp_ring_info *cpr = bp->async_cp_ring;
	if (BNXT_NUM_ASYNC_CPR(bp) == 0 || cpr == NULL)
		return;
	if (BNXT_HAS_NQ(bp))
		bnxt_free_nq_ring(bp, cpr);
	else
		bnxt_free_cp_ring(bp, cpr);
	bnxt_free_ring(cpr->cp_ring_struct);
	rte_free(cpr->cp_ring_struct);
	cpr->cp_ring_struct = NULL;
	rte_free(cpr);
	bp->async_cp_ring = NULL;
}
void bnxt_free_async_cp_ring ( struct bnxt * bp ) { struct bnxt_cp_ring_info * cpr = bp -> async_cp_ring ; if ( BNXT_NUM_ASYNC_CPR ( bp ) == 0 || cpr == NULL ) return ; if ( BNXT_HAS_NQ ( bp ) ) bnxt_free_nq_ring ( bp , cpr ) ; else bnxt_free_cp_ring ( bp , cpr ) ; bnxt_free_ring ( cpr -> cp_ring_struct ) ; rte_free ( cpr -> cp_ring_struct ) ; cpr -> cp_ring_struct = NULL ; rte_free ( cpr ) ; bp -> async_cp_ring = NULL ; }
Free dedicated async completion ring.
Free dedicated async completion ring .