i40e: fix Tx descriptors reset
authorJim Harris <james.r.harris@intel.com>
Wed, 1 Oct 2014 22:00:21 +0000 (15:00 -0700)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Thu, 9 Oct 2014 18:02:34 +0000 (20:02 +0200)
Fix the descriptor initialization loop, so that it initializes
the i40e_tx_desc::cmd_type_offset_bsz for the correct index
into the tx_ring array.

Previously it would use the index once to initialize the txd
local variable, then again when setting cmd_type_offset_bsz.

Signed-off-by: Jim Harris <james.r.harris@intel.com>
Acked-by: Helin Zhang <helin.zhang@intel.com>
lib/librte_pmd_i40e/i40e_rxtx.c

index 7c5b6a8..2b53677 100644 (file)
@@ -2072,7 +2072,7 @@ i40e_reset_tx_queue(struct i40e_tx_queue *txq)
        for (i = 0; i < txq->nb_tx_desc; i++) {
                volatile struct i40e_tx_desc *txd = &txq->tx_ring[i];
 
-               txd[i].cmd_type_offset_bsz =
+               txd->cmd_type_offset_bsz =
                        rte_cpu_to_le_64(I40E_TX_DESC_DTYPE_DESC_DONE);
                txe[i].mbuf =  NULL;
                txe[i].last_id = i;