cns3xxx: ethernet: use circular queue checks consistently
authorKoen Vandeputte <koen.vandeputte@ncentric.com>
Tue, 7 Aug 2018 09:44:36 +0000 (11:44 +0200)
committerKoen Vandeputte <koen.vandeputte@ncentric.com>
Tue, 7 Aug 2018 10:53:48 +0000 (12:53 +0200)
Use the same method for setting queue index pointers consistenly
throughout the source file.

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
target/linux/cns3xxx/files/drivers/net/ethernet/cavium/cns3xxx_eth.c

index 9397a9e7ab6a55b742dd27f24ce92e9eb5c6925a..77a7ab73d58a128a1f6ddb80e0b3d56b2934c195 100644 (file)
@@ -595,21 +595,23 @@ static void eth_complete_tx(struct sw *sw)
        desc = &(tx_ring)->desc[index];
 
        for (i = 0; i < num_used; i++) {
-               if (desc->cown) {
-                       skb = tx_ring->buff_tab[index];
-                       tx_ring->buff_tab[index] = 0;
-                       if (skb)
-                               dev_kfree_skb_any(skb);
-                       dma_unmap_single(sw->dev, tx_ring->phys_tab[index],
-                               desc->sdl, DMA_TO_DEVICE);
-                       if (++index == TX_DESCS) {
-                               index = 0;
-                               desc = &(tx_ring)->desc[index];
-                       } else {
-                               desc++;
-                       }
-               } else {
+               if (!desc->cown)
                        break;
+
+               skb = tx_ring->buff_tab[index];
+               tx_ring->buff_tab[index] = 0;
+
+               if (skb)
+                       dev_kfree_skb_any(skb);
+
+               dma_unmap_single(sw->dev, tx_ring->phys_tab[index], desc->sdl, DMA_TO_DEVICE);
+
+               if (index == TX_DESCS - 1) {
+                       index = 0;
+                       desc = &(tx_ring)->desc[index];
+               } else {
+                       index++;
+                       desc++;
                }
        }
 
@@ -705,10 +707,11 @@ static int eth_poll(struct napi_struct *napi, int budget)
                }
 
                received++;
-               if (++i == RX_DESCS) {
+               if (i == RX_DESCS - 1) {
                        i = 0;
                        desc = &(rx_ring)->desc[i];
                } else {
+                       i++;
                        desc++;
                }
        }