ixgbe: residual fix about resetting big Tx queues
authorIntel <intel.com>
Wed, 4 Dec 2013 09:00:00 +0000 (10:00 +0100)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Wed, 15 Jan 2014 14:31:09 +0000 (15:31 +0100)
Index overflow when resetting big queues was partially fixed in
bcf457f8c0d64a5c (ixgbe: fix index overflow when resetting big Tx queues)
and better fixed in
e8ae856140bce4e4 (igb/ixgbe: fix index overflow when resetting big queues)

But this version (1.5.2r0) has residues of the initial fix from 1.5.1r0.

Signed-off-by: Intel
lib/librte_pmd_ixgbe/ixgbe_rxtx.c

index 6f82918..d0c8cbb 100644 (file)
@@ -1813,9 +1813,9 @@ ixgbe_reset_tx_queue(struct igb_tx_queue *txq)
                volatile union ixgbe_adv_tx_desc *txd = &txq->tx_ring[i];
                txd->wb.status = IXGBE_TXD_STAT_DD;
                txe[i].mbuf = NULL;
-               txe[i].last_id = i;
-               txe[prev].next_id = i;
-               prev = i;
+               txe[i].last_id = (uint16_t)i;
+               txe[prev].next_id = (uint16_t)i;
+               prev = (uint16_t)i;
        }
 
        txq->tx_next_dd = (uint16_t)(txq->tx_rs_thresh - 1);