Signed-off-by: Matthias Beyer <m...@beyermatthias.de>
---
 drivers/staging/bcm/PHSModule.c | 16 +++++++++-------
 1 file changed, 9 insertions(+), 7 deletions(-)

diff --git a/drivers/staging/bcm/PHSModule.c b/drivers/staging/bcm/PHSModule.c
index f726f2e..55421ef 100644
--- a/drivers/staging/bcm/PHSModule.c
+++ b/drivers/staging/bcm/PHSModule.c
@@ -499,6 +499,7 @@ ULONG PhsDeletePHSRule(IN void *pvContext,
        struct bcm_phs_classifier_table *pstClassifierRulesTable = NULL;
        struct bcm_mini_adapter *Adapter = GET_BCM_ADAPTER(gblpnetdev);
        struct bcm_phs_extension *pDeviceExtension = (struct bcm_phs_extension 
*)pvContext;
+       struct bcm_phs_classifier_entry *curr_entry;
 
        BCM_DEBUG_PRINT(Adapter, DBG_TYPE_OTHERS, PHS_DISPATCH, DBG_LVL_ALL,
                        "======>\n");
@@ -517,16 +518,17 @@ ULONG PhsDeletePHSRule(IN void *pvContext,
                pstClassifierRulesTable = 
pstServiceFlowEntry->pstClassifierTable;
                if (pstClassifierRulesTable) {
                        for (nClsidIndex = 0; nClsidIndex < MAX_PHSRULE_PER_SF; 
nClsidIndex++) {
-                               if 
(pstClassifierRulesTable->stActivePhsRulesList[nClsidIndex].bUsed && 
pstClassifierRulesTable->stActivePhsRulesList[nClsidIndex].pstPhsRule) {
-                                       if 
(pstClassifierRulesTable->stActivePhsRulesList[nClsidIndex].pstPhsRule->u8PHSI 
== u8PHSI) {
+                               curr_entry = 
&pstClassifierRulesTable->stActivePhsRulesList[nClsidIndex];
+                               if (curr_entry->bUsed && 
curr_entry->pstPhsRule) {
+                                       if (curr_entry->pstPhsRule->u8PHSI == 
u8PHSI) {
 
-                                               if 
(pstClassifierRulesTable->stActivePhsRulesList[nClsidIndex].pstPhsRule->u8RefCnt)
-                                                       
pstClassifierRulesTable->stActivePhsRulesList[nClsidIndex].pstPhsRule->u8RefCnt--;
+                                               if 
(curr_entry->pstPhsRule->u8RefCnt)
+                                                       
curr_entry->pstPhsRule->u8RefCnt--;
 
-                                               if (0 == 
pstClassifierRulesTable->stActivePhsRulesList[nClsidIndex].pstPhsRule->u8RefCnt)
-                                                       
kfree(pstClassifierRulesTable->stActivePhsRulesList[nClsidIndex].pstPhsRule);
+                                               if (0 == 
curr_entry->pstPhsRule->u8RefCnt)
+                                                       
kfree(curr_entry->pstPhsRule);
 
-                                               
memset(&pstClassifierRulesTable->stActivePhsRulesList[nClsidIndex],
+                                               memset(curr_entry,
                                                       0,
                                                       sizeof(struct 
bcm_phs_classifier_entry));
                                        }
-- 
2.0.1

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

Reply via email to