staging: rtl8192e: Remove loops with constant MAX_RX_QUEUE
authorPhilipp Hortmann <philipp.g.hortmann@gmail.com>
Thu, 26 Oct 2023 05:43:59 +0000 (07:43 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 27 Oct 2023 11:08:49 +0000 (13:08 +0200)
MAX_RX_QUEUE is set to 1. All loops with MAX_RX_QUEUE run only one cycle.
Remove loops.

Signed-off-by: Philipp Hortmann <philipp.g.hortmann@gmail.com>
Reviewed-by: Dan Carpenter <dan.carpenter@linaro.org>
Link: https://lore.kernel.org/r/8bc9d3c15fba082a928ea2c0916a6aef5f76f456.1698295861.git.philipp.g.hortmann@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/rtl8192e/rtl8192e/rtl_core.c

index ba35ae4a21fa4c44b32e3c5141e5c7451af975b1..2f0fc7c0f216df30c19960df396b36e744fbfca8 100644 (file)
@@ -1141,28 +1141,26 @@ void rtl92e_tx_enable(struct net_device *dev)
 static void _rtl92e_free_rx_ring(struct net_device *dev)
 {
        struct r8192_priv *priv = rtllib_priv(dev);
-       int i, rx_queue_idx;
-
-       for (rx_queue_idx = 0; rx_queue_idx < MAX_RX_QUEUE;
-            rx_queue_idx++) {
-               for (i = 0; i < priv->rxringcount; i++) {
-                       struct sk_buff *skb = priv->rx_buf[rx_queue_idx][i];
+       int i;
+       int rx_queue_idx = 0;
 
-                       if (!skb)
-                               continue;
+       for (i = 0; i < priv->rxringcount; i++) {
+               struct sk_buff *skb = priv->rx_buf[rx_queue_idx][i];
 
-                       dma_unmap_single(&priv->pdev->dev,
-                                        *((dma_addr_t *)skb->cb),
-                                        priv->rxbuffersize, DMA_FROM_DEVICE);
-                       kfree_skb(skb);
-               }
+               if (!skb)
+                       continue;
 
-               dma_free_coherent(&priv->pdev->dev,
-                                 sizeof(*priv->rx_ring[rx_queue_idx]) * priv->rxringcount,
-                                 priv->rx_ring[rx_queue_idx],
-                                 priv->rx_ring_dma[rx_queue_idx]);
-               priv->rx_ring[rx_queue_idx] = NULL;
+               dma_unmap_single(&priv->pdev->dev,
+                                *((dma_addr_t *)skb->cb),
+                                priv->rxbuffersize, DMA_FROM_DEVICE);
+               kfree_skb(skb);
        }
+
+       dma_free_coherent(&priv->pdev->dev,
+                         sizeof(*priv->rx_ring[rx_queue_idx]) * priv->rxringcount,
+                         priv->rx_ring[rx_queue_idx],
+                         priv->rx_ring_dma[rx_queue_idx]);
+       priv->rx_ring[rx_queue_idx] = NULL;
 }
 
 static void _rtl92e_free_tx_ring(struct net_device *dev, unsigned int prio)
@@ -1353,47 +1351,46 @@ static short _rtl92e_alloc_rx_ring(struct net_device *dev)
 {
        struct r8192_priv *priv = rtllib_priv(dev);
        struct rx_desc *entry = NULL;
-       int i, rx_queue_idx;
-
-       for (rx_queue_idx = 0; rx_queue_idx < MAX_RX_QUEUE; rx_queue_idx++) {
-               priv->rx_ring[rx_queue_idx] = dma_alloc_coherent(&priv->pdev->dev,
-                                                                sizeof(*priv->rx_ring[rx_queue_idx]) * priv->rxringcount,
-                                                                &priv->rx_ring_dma[rx_queue_idx],
-                                                                GFP_ATOMIC);
-               if (!priv->rx_ring[rx_queue_idx] ||
-                   (unsigned long)priv->rx_ring[rx_queue_idx] & 0xFF) {
-                       netdev_warn(dev, "Cannot allocate RX ring\n");
-                       return -ENOMEM;
-               }
-
-               priv->rx_idx[rx_queue_idx] = 0;
+       int i;
+       int rx_queue_idx = 0;
+
+       priv->rx_ring[rx_queue_idx] = dma_alloc_coherent(&priv->pdev->dev,
+                                                        sizeof(*priv->rx_ring[rx_queue_idx]) * priv->rxringcount,
+                                                        &priv->rx_ring_dma[rx_queue_idx],
+                                                        GFP_ATOMIC);
+       if (!priv->rx_ring[rx_queue_idx] ||
+           (unsigned long)priv->rx_ring[rx_queue_idx] & 0xFF) {
+               netdev_warn(dev, "Cannot allocate RX ring\n");
+               return -ENOMEM;
+       }
 
-               for (i = 0; i < priv->rxringcount; i++) {
-                       struct sk_buff *skb = dev_alloc_skb(priv->rxbuffersize);
-                       dma_addr_t *mapping;
+       priv->rx_idx[rx_queue_idx] = 0;
 
-                       entry = &priv->rx_ring[rx_queue_idx][i];
-                       if (!skb)
-                               return 0;
-                       skb->dev = dev;
-                       priv->rx_buf[rx_queue_idx][i] = skb;
-                       mapping = (dma_addr_t *)skb->cb;
-                       *mapping = dma_map_single(&priv->pdev->dev,
-                                                 skb_tail_pointer(skb),
-                                                 priv->rxbuffersize, DMA_FROM_DEVICE);
-                       if (dma_mapping_error(&priv->pdev->dev, *mapping)) {
-                               dev_kfree_skb_any(skb);
-                               return -1;
-                       }
-                       entry->BufferAddress = *mapping;
+       for (i = 0; i < priv->rxringcount; i++) {
+               struct sk_buff *skb = dev_alloc_skb(priv->rxbuffersize);
+               dma_addr_t *mapping;
 
-                       entry->Length = priv->rxbuffersize;
-                       entry->OWN = 1;
+               entry = &priv->rx_ring[rx_queue_idx][i];
+               if (!skb)
+                       return 0;
+               skb->dev = dev;
+               priv->rx_buf[rx_queue_idx][i] = skb;
+               mapping = (dma_addr_t *)skb->cb;
+               *mapping = dma_map_single(&priv->pdev->dev,
+                                         skb_tail_pointer(skb),
+                                         priv->rxbuffersize, DMA_FROM_DEVICE);
+               if (dma_mapping_error(&priv->pdev->dev, *mapping)) {
+                       dev_kfree_skb_any(skb);
+                       return -1;
                }
+               entry->BufferAddress = *mapping;
 
-               if (entry)
-                       entry->EOR = 1;
+               entry->Length = priv->rxbuffersize;
+               entry->OWN = 1;
        }
+
+       if (entry)
+               entry->EOR = 1;
        return 0;
 }
 
@@ -1455,19 +1452,18 @@ err_free_rings:
 void rtl92e_reset_desc_ring(struct net_device *dev)
 {
        struct r8192_priv *priv = rtllib_priv(dev);
-       int i, rx_queue_idx;
+       int i;
+       int rx_queue_idx = 0;
        unsigned long flags = 0;
 
-       for (rx_queue_idx = 0; rx_queue_idx < MAX_RX_QUEUE; rx_queue_idx++) {
-               if (priv->rx_ring[rx_queue_idx]) {
-                       struct rx_desc *entry = NULL;
+       if (priv->rx_ring[rx_queue_idx]) {
+               struct rx_desc *entry = NULL;
 
-                       for (i = 0; i < priv->rxringcount; i++) {
-                               entry = &priv->rx_ring[rx_queue_idx][i];
-                               entry->OWN = 1;
-                       }
-                       priv->rx_idx[rx_queue_idx] = 0;
+               for (i = 0; i < priv->rxringcount; i++) {
+                       entry = &priv->rx_ring[rx_queue_idx][i];
+                       entry->OWN = 1;
                }
+               priv->rx_idx[rx_queue_idx] = 0;
        }
 
        spin_lock_irqsave(&priv->irq_th_lock, flags);