Signed-off-by: Matthias Beyer <m...@beyermatthias.de>
---
 drivers/staging/bcm/LeakyBucket.c | 27 +++++++++++++++------------
 1 file changed, 15 insertions(+), 12 deletions(-)

diff --git a/drivers/staging/bcm/LeakyBucket.c 
b/drivers/staging/bcm/LeakyBucket.c
index f95b067..151f620 100644
--- a/drivers/staging/bcm/LeakyBucket.c
+++ b/drivers/staging/bcm/LeakyBucket.c
@@ -20,6 +20,7 @@ static VOID UpdateTokenCount(register struct bcm_mini_adapter 
*Adapter)
        ULONG liCurrentTime;
        INT i = 0;
        struct timeval tv;
+       struct bcm_packet_info *curr_pi;
 
        BCM_DEBUG_PRINT(Adapter, DBG_TYPE_TX, TOKEN_COUNTS, DBG_LVL_ALL,
                        "=====>\n");
@@ -31,23 +32,25 @@ static VOID UpdateTokenCount(register struct 
bcm_mini_adapter *Adapter)
 
        do_gettimeofday(&tv);
        for (i = 0; i < NO_OF_QUEUES; i++) {
-               if (TRUE == Adapter->PackInfo[i].bValid &&
-                   (1 == Adapter->PackInfo[i].ucDirection)) {
+               curr_pi = &Adapter->PackInfo[i];
+
+               if (TRUE == curr_pi->bValid &&
+                   (1 == curr_pi->ucDirection)) {
                        liCurrentTime = ((tv.tv_sec-
-                               
Adapter->PackInfo[i].stLastUpdateTokenAt.tv_sec)*1000 +
-                               
(tv.tv_usec-Adapter->PackInfo[i].stLastUpdateTokenAt.tv_usec)/
+                               curr_pi->stLastUpdateTokenAt.tv_sec)*1000 +
+                               
(tv.tv_usec-curr_pi->stLastUpdateTokenAt.tv_usec)/
                                1000);
                        if (0 != liCurrentTime) {
-                               Adapter->PackInfo[i].uiCurrentTokenCount += 
(ULONG)
-                                       
((Adapter->PackInfo[i].uiMaxAllowedRate) *
+                               curr_pi->uiCurrentTokenCount += (ULONG)
+                                       ((curr_pi->uiMaxAllowedRate) *
                                        ((ULONG)((liCurrentTime)))/1000);
-                               
memcpy(&Adapter->PackInfo[i].stLastUpdateTokenAt,
+                               memcpy(&curr_pi->stLastUpdateTokenAt,
                                        &tv, sizeof(struct timeval));
-                               Adapter->PackInfo[i].liLastUpdateTokenAt = 
liCurrentTime;
-                               if (Adapter->PackInfo[i].uiCurrentTokenCount >=
-                                   Adapter->PackInfo[i].uiMaxBucketSize) {
-                                       
Adapter->PackInfo[i].uiCurrentTokenCount =
-                                               
Adapter->PackInfo[i].uiMaxBucketSize;
+                               curr_pi->liLastUpdateTokenAt = liCurrentTime;
+                               if (curr_pi->uiCurrentTokenCount >=
+                                   curr_pi->uiMaxBucketSize) {
+                                       curr_pi->uiCurrentTokenCount =
+                                               curr_pi->uiMaxBucketSize;
                                }
                        }
                }
-- 
2.0.1

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

Reply via email to