@@ -432,9 +432,9 @@ static netdev_tx_t bnxt_start_xmit(struct sk_buff *skb, struct net_device *dev)
432432 len = skb_headlen (skb );
433433 last_frag = skb_shinfo (skb )-> nr_frags ;
434434
435- txbd = & txr -> tx_desc_ring [TX_RING (prod )][TX_IDX (prod )];
435+ txbd = & txr -> tx_desc_ring [TX_RING (bp , prod )][TX_IDX (prod )];
436436
437- tx_buf = & txr -> tx_buf_ring [prod ];
437+ tx_buf = & txr -> tx_buf_ring [RING_TX ( bp , prod ) ];
438438 tx_buf -> skb = skb ;
439439 tx_buf -> nr_frags = last_frag ;
440440
@@ -522,7 +522,7 @@ static netdev_tx_t bnxt_start_xmit(struct sk_buff *skb, struct net_device *dev)
522522 txbd -> tx_bd_opaque = SET_TX_OPAQUE (bp , txr , prod , 2 );
523523 prod = NEXT_TX (prod );
524524 tx_push -> tx_bd_opaque = txbd -> tx_bd_opaque ;
525- txbd = & txr -> tx_desc_ring [TX_RING (prod )][TX_IDX (prod )];
525+ txbd = & txr -> tx_desc_ring [TX_RING (bp , prod )][TX_IDX (prod )];
526526 memcpy (txbd , tx_push1 , sizeof (* txbd ));
527527 prod = NEXT_TX (prod );
528528 tx_push -> doorbell =
@@ -569,7 +569,7 @@ static netdev_tx_t bnxt_start_xmit(struct sk_buff *skb, struct net_device *dev)
569569
570570 prod = NEXT_TX (prod );
571571 txbd1 = (struct tx_bd_ext * )
572- & txr -> tx_desc_ring [TX_RING (prod )][TX_IDX (prod )];
572+ & txr -> tx_desc_ring [TX_RING (bp , prod )][TX_IDX (prod )];
573573
574574 txbd1 -> tx_bd_hsize_lflags = lflags ;
575575 if (skb_is_gso (skb )) {
@@ -610,7 +610,7 @@ static netdev_tx_t bnxt_start_xmit(struct sk_buff *skb, struct net_device *dev)
610610 skb_frag_t * frag = & skb_shinfo (skb )-> frags [i ];
611611
612612 prod = NEXT_TX (prod );
613- txbd = & txr -> tx_desc_ring [TX_RING (prod )][TX_IDX (prod )];
613+ txbd = & txr -> tx_desc_ring [TX_RING (bp , prod )][TX_IDX (prod )];
614614
615615 len = skb_frag_size (frag );
616616 mapping = skb_frag_dma_map (& pdev -> dev , frag , 0 , len ,
@@ -619,7 +619,7 @@ static netdev_tx_t bnxt_start_xmit(struct sk_buff *skb, struct net_device *dev)
619619 if (unlikely (dma_mapping_error (& pdev -> dev , mapping )))
620620 goto tx_dma_error ;
621621
622- tx_buf = & txr -> tx_buf_ring [prod ];
622+ tx_buf = & txr -> tx_buf_ring [RING_TX ( bp , prod ) ];
623623 dma_unmap_addr_set (tx_buf , mapping , mapping );
624624
625625 txbd -> tx_bd_haddr = cpu_to_le64 (mapping );
@@ -668,15 +668,15 @@ static netdev_tx_t bnxt_start_xmit(struct sk_buff *skb, struct net_device *dev)
668668
669669 /* start back at beginning and unmap skb */
670670 prod = txr -> tx_prod ;
671- tx_buf = & txr -> tx_buf_ring [prod ];
671+ tx_buf = & txr -> tx_buf_ring [RING_TX ( bp , prod ) ];
672672 dma_unmap_single (& pdev -> dev , dma_unmap_addr (tx_buf , mapping ),
673673 skb_headlen (skb ), DMA_TO_DEVICE );
674674 prod = NEXT_TX (prod );
675675
676676 /* unmap remaining mapped pages */
677677 for (i = 0 ; i < last_frag ; i ++ ) {
678678 prod = NEXT_TX (prod );
679- tx_buf = & txr -> tx_buf_ring [prod ];
679+ tx_buf = & txr -> tx_buf_ring [RING_TX ( bp , prod ) ];
680680 dma_unmap_page (& pdev -> dev , dma_unmap_addr (tx_buf , mapping ),
681681 skb_frag_size (& skb_shinfo (skb )-> frags [i ]),
682682 DMA_TO_DEVICE );
@@ -702,12 +702,12 @@ static void __bnxt_tx_int(struct bnxt *bp, struct bnxt_tx_ring_info *txr,
702702 u16 cons = txr -> tx_cons ;
703703 int tx_pkts = 0 ;
704704
705- while (cons != hw_cons ) {
705+ while (RING_TX ( bp , cons ) != hw_cons ) {
706706 struct bnxt_sw_tx_bd * tx_buf ;
707707 struct sk_buff * skb ;
708708 int j , last ;
709709
710- tx_buf = & txr -> tx_buf_ring [cons ];
710+ tx_buf = & txr -> tx_buf_ring [RING_TX ( bp , cons ) ];
711711 cons = NEXT_TX (cons );
712712 skb = tx_buf -> skb ;
713713 tx_buf -> skb = NULL ;
@@ -731,7 +731,7 @@ static void __bnxt_tx_int(struct bnxt *bp, struct bnxt_tx_ring_info *txr,
731731
732732 for (j = 0 ; j < last ; j ++ ) {
733733 cons = NEXT_TX (cons );
734- tx_buf = & txr -> tx_buf_ring [cons ];
734+ tx_buf = & txr -> tx_buf_ring [RING_TX ( bp , cons ) ];
735735 dma_unmap_page (
736736 & pdev -> dev ,
737737 dma_unmap_addr (tx_buf , mapping ),
0 commit comments