src/dpdk/drivers/net/cxgbe/cxgbe_main.c
void cxgbe_close(struct adapter *adapter)
{
	if (adapter->flags & FULL_INIT_DONE) {
		tid_free(&adapter->tids);
		t4_cleanup_mpstcam(adapter);
		t4_cleanup_clip_tbl(adapter);
		t4_cleanup_l2t(adapter);
		t4_cleanup_smt(adapter);
		if (is_pf4(adapter))
			t4_intr_disable(adapter);
		t4_sge_tx_monitor_stop(adapter);
		t4_free_sge_resources(adapter);
		adapter->flags &= ~FULL_INIT_DONE;
	}

	cxgbe_cfg_queues_free(adapter);

	if (is_pf4(adapter) && (adapter->flags & FW_OK))
		t4_fw_bye(adapter, adapter->mbox);
}
/*
 * Release resources when all the ports have been stopped.
 */
Release resources when all the ports have been stopped.
Release resources when all the ports have been stopped .
void cxgbe_close(struct adapter *adapter)
{
	if (adapter->flags & FULL_INIT_DONE) {
		tid_free(&adapter->tids);
		t4_cleanup_mpstcam(adapter);
		t4_cleanup_clip_tbl(adapter);
		t4_cleanup_l2t(adapter);
		t4_cleanup_smt(adapter);
		if (is_pf4(adapter))
			t4_intr_disable(adapter);
		t4_sge_tx_monitor_stop(adapter);
		t4_free_sge_resources(adapter);
		adapter->flags &= ~FULL_INIT_DONE;
	}
	cxgbe_cfg_queues_free(adapter);
	if (is_pf4(adapter) && (adapter->flags & FW_OK))
		t4_fw_bye(adapter, adapter->mbox);
}
void cxgbe_close ( struct adapter * adapter ) { if ( adapter -> flags & FULL_INIT_DONE ) { tid_free ( & adapter -> tids ) ; t4_cleanup_mpstcam ( adapter ) ; t4_cleanup_clip_tbl ( adapter ) ; t4_cleanup_l2t ( adapter ) ; t4_cleanup_smt ( adapter ) ; if ( is_pf4 ( adapter ) ) t4_intr_disable ( adapter ) ; t4_sge_tx_monitor_stop ( adapter ) ; t4_free_sge_resources ( adapter ) ; adapter -> flags &= ~ FULL_INIT_DONE ; } cxgbe_cfg_queues_free ( adapter ) ; if ( is_pf4 ( adapter ) && ( adapter -> flags & FW_OK ) ) t4_fw_bye ( adapter , adapter -> mbox ) ; }
Release resources when all the ports have been stopped.
Release resources when all the ports have been stopped .