[PATCH 04/27] Staging: bcm: Qos.c: Replaced member accessing with variable in PruneQueue()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Signed-off-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx>
---
 drivers/staging/bcm/Qos.c | 31 ++++++++++++++++---------------
 1 file changed, 16 insertions(+), 15 deletions(-)

diff --git a/drivers/staging/bcm/Qos.c b/drivers/staging/bcm/Qos.c
index c4a75a8..d01470f 100644
--- a/drivers/staging/bcm/Qos.c
+++ b/drivers/staging/bcm/Qos.c
@@ -318,6 +318,7 @@ static VOID PruneQueue(struct bcm_mini_adapter *Adapter, INT iIndex)
 {
 	struct sk_buff *PacketToDrop = NULL;
 	struct net_device_stats *netstats;
+	struct bcm_packet_info	*curr_pack_info = &Adapter->PackInfo[iIndex];
 
 	BCM_DEBUG_PRINT(Adapter, DBG_TYPE_TX, PRUNE_QUEUE, DBG_LVL_ALL, "=====> Index %d", iIndex);
 
@@ -330,22 +331,22 @@ static VOID PruneQueue(struct bcm_mini_adapter *Adapter, INT iIndex)
 	/* To Store the netdevice statistic */
 	netstats = &Adapter->dev->stats;
 
-	spin_lock_bh(&Adapter->PackInfo[iIndex].SFQueueLock);
+	spin_lock_bh(&curr_pack_info->SFQueueLock);
 
 	while (1) {
 	/* while((UINT)Adapter->PackInfo[iIndex].uiCurrentPacketsOnHost > */
 	/* 	SF_MAX_ALLOWED_PACKETS_TO_BACKUP) { */
 
 		BCM_DEBUG_PRINT(Adapter, DBG_TYPE_TX, PRUNE_QUEUE, DBG_LVL_ALL, "uiCurrentBytesOnHost:%x uiMaxBucketSize :%x",
-		Adapter->PackInfo[iIndex].uiCurrentBytesOnHost,
-		Adapter->PackInfo[iIndex].uiMaxBucketSize);
+		curr_pack_info->uiCurrentBytesOnHost,
+		curr_pack_info->uiMaxBucketSize);
 
-		PacketToDrop = Adapter->PackInfo[iIndex].FirstTxQueue;
+		PacketToDrop = curr_pack_info->FirstTxQueue;
 
 		if (PacketToDrop == NULL)
 			break;
-		if ((Adapter->PackInfo[iIndex].uiCurrentPacketsOnHost < SF_MAX_ALLOWED_PACKETS_TO_BACKUP) &&
-			((1000*(jiffies - *((B_UINT32 *)(PacketToDrop->cb)+SKB_CB_LATENCY_OFFSET))/HZ) <= Adapter->PackInfo[iIndex].uiMaxLatency))
+		if ((curr_pack_info->uiCurrentPacketsOnHost < SF_MAX_ALLOWED_PACKETS_TO_BACKUP) &&
+			((1000*(jiffies - *((B_UINT32 *)(PacketToDrop->cb)+SKB_CB_LATENCY_OFFSET))/HZ) <= curr_pack_info->uiMaxLatency))
 			break;
 
 		if (PacketToDrop) {
@@ -355,27 +356,27 @@ static VOID PruneQueue(struct bcm_mini_adapter *Adapter, INT iIndex)
 
 			netstats->tx_dropped++;
 
-			DEQUEUEPACKET(Adapter->PackInfo[iIndex].FirstTxQueue,
-						Adapter->PackInfo[iIndex].LastTxQueue);
+			DEQUEUEPACKET(curr_pack_info->FirstTxQueue,
+						curr_pack_info->LastTxQueue);
 			/* update current bytes and packets count */
-			Adapter->PackInfo[iIndex].uiCurrentBytesOnHost -=
+			curr_pack_info->uiCurrentBytesOnHost -=
 				PacketToDrop->len;
-			Adapter->PackInfo[iIndex].uiCurrentPacketsOnHost--;
+			curr_pack_info->uiCurrentPacketsOnHost--;
 			/* update dropped bytes and packets counts */
-			Adapter->PackInfo[iIndex].uiDroppedCountBytes += PacketToDrop->len;
-			Adapter->PackInfo[iIndex].uiDroppedCountPackets++;
+			curr_pack_info->uiDroppedCountBytes += PacketToDrop->len;
+			curr_pack_info->uiDroppedCountPackets++;
 			dev_kfree_skb(PacketToDrop);
 
 		}
 
 		BCM_DEBUG_PRINT(Adapter, DBG_TYPE_TX, PRUNE_QUEUE, DBG_LVL_ALL, "Dropped Bytes:%x Dropped Packets:%x",
-			Adapter->PackInfo[iIndex].uiDroppedCountBytes,
-			Adapter->PackInfo[iIndex].uiDroppedCountPackets);
+			curr_pack_info->uiDroppedCountBytes,
+			curr_pack_info->uiDroppedCountPackets);
 
 		atomic_dec(&Adapter->TotalPacketCount);
 	}
 
-	spin_unlock_bh(&Adapter->PackInfo[iIndex].SFQueueLock);
+	spin_unlock_bh(&curr_pack_info->SFQueueLock);
 
 	BCM_DEBUG_PRINT(Adapter, DBG_TYPE_TX, PRUNE_QUEUE, DBG_LVL_ALL, "TotalPacketCount:%x",
 		atomic_read(&Adapter->TotalPacketCount));
-- 
2.0.3

_______________________________________________
devel mailing list
devel@xxxxxxxxxxxxxxxxxxxxxx
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel




[Index of Archives]     [Linux Driver Backports]     [DMA Engine]     [Linux GPIO]     [Linux SPI]     [Video for Linux]     [Linux USB Devel]     [Linux Coverity]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux