/* Free up all TSO datastructures associated with tx_queue. This routine should be called only once the tx_queue is both empty and will no longer be used.  */
static void efx_fini_tso(struct efx_tx_queue *tx_queue)
/* Free up all TSO datastructures associated with tx_queue. This routine should be called only once the tx_queue is both empty and will no longer be used.  */
static void efx_fini_tso(struct efx_tx_queue *tx_queue)
{
	unsigned i;
	if (tx_queue->buffer) {
		for (i = 0; i <= EFX_TXQ_MASK; ++i)
			efx_tsoh_free(tx_queue, &tx_queue->buffer[i]);
	}
	while (tx_queue->tso_headers_free != NULL)
		efx_tsoh_block_free(tx_queue, tx_queue->tso_headers_free,
				    tx_queue->efx->pci_dev);
}