For Tx-ring # 104 and higher, the doorbell register was incorrectly
configured due to which FW was not able to receive the notification
of packet to transmit. With this fix, user can run traffic upto 256 rings.

Fixes: 6eb3cc2294fd ("net/bnxt: add initial Tx code")

Signed-off-by: Rahul Gupta <rahul.gu...@broadcom.com>
Signed-off-by: Ajit Khaparde <ajit.khapa...@broadcom.com>
---
 drivers/net/bnxt/bnxt_ring.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/net/bnxt/bnxt_ring.c b/drivers/net/bnxt/bnxt_ring.c
index 7453d4b56..9b19459b6 100644
--- a/drivers/net/bnxt/bnxt_ring.c
+++ b/drivers/net/bnxt/bnxt_ring.c
@@ -639,12 +639,12 @@ int bnxt_alloc_hwrm_rings(struct bnxt *bp)
                ring_type = HWRM_RING_ALLOC_INPUT_RING_TYPE_TX;
                rc = bnxt_hwrm_ring_alloc(bp, ring,
                                          ring_type,
-                                         idx, cpr->hw_stats_ctx_id,
+                                         i, cpr->hw_stats_ctx_id,
                                          cp_ring->fw_ring_id);
                if (rc)
                        goto err_out;
 
-               bnxt_set_db(bp, &txr->tx_db, ring_type, idx, ring->fw_ring_id);
+               bnxt_set_db(bp, &txr->tx_db, ring_type, i, ring->fw_ring_id);
                txq->index = idx;
                bnxt_hwrm_set_ring_coal(bp, &coal, cp_ring->fw_ring_id);
        }
-- 
2.20.1 (Apple Git-117)

Reply via email to