From c771d289cb6295dd0d4abd37cc1689f0bc87cfcb Mon Sep 17 00:00:00 2001 From: Ajit Khaparde Date: Fri, 26 Jan 2018 09:31:54 -0800 Subject: [PATCH] net/bnxt: fix size of Tx ring in HW During Tx ring allocation, the actual ring size configured in the HW ends up being twice the number of txd parameter specified to the driver. The power of 2 ring size wrongly adds a +1 while sending the ring create command to the FW. Fixes: 6eb3cc2294fd ("net/bnxt: add initial Tx code") Cc: stable@dpdk.org Signed-off-by: Ajit Khaparde --- drivers/net/bnxt/bnxt_txr.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/bnxt/bnxt_txr.c b/drivers/net/bnxt/bnxt_txr.c index ac77434b71..2f2c87119c 100644 --- a/drivers/net/bnxt/bnxt_txr.c +++ b/drivers/net/bnxt/bnxt_txr.c @@ -101,7 +101,7 @@ int bnxt_init_tx_ring_struct(struct bnxt_tx_queue *txq, unsigned int socket_id) if (ring == NULL) return -ENOMEM; txr->tx_ring_struct = ring; - ring->ring_size = rte_align32pow2(txq->nb_tx_desc + 1); + ring->ring_size = rte_align32pow2(txq->nb_tx_desc); ring->ring_mask = ring->ring_size - 1; ring->bd = (void *)txr->tx_desc_ring; ring->bd_dma = txr->tx_desc_mapping; -- 2.20.1