Staging: bcm: PHSModule.c: Replaced indentation level with goto jump on bad condition

This change “Staging: bcm: PHSModule.c: Replaced indentation level with goto jump on bad condition” (commit c8020cc) in Linux kernel is authored by Matthias Beyer <mail [at] beyermatthias.de> on Tue Jul 15 09:43:06 2014 +0200.

Description of "Staging: bcm: PHSModule.c: Replaced indentation level with goto jump on bad condition"

The change “Staging: bcm: PHSModule.c: Replaced indentation level with goto jump on bad condition” introduces changes as follows.

Staging: bcm: PHSModule.c: Replaced indentation level with goto jump on bad condition

Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

Linux kernel releases containing commit c8020cc

The Linux kernel releases containing this commit are as follows.

Linux kernel code changes from "Staging: bcm: PHSModule.c: Replaced indentation level with goto jump on bad condition"

There are 61 lines of Linux source code added/deleted in this change. Code changes to Linux kernel are as follows.

 drivers/staging/bcm/PHSModule.c | 61 +++++++++++++++++----------------
 1 file changed, 32 insertions(+), 29 deletions(-)
 
diff --git a/drivers/staging/bcm/PHSModule.c b/drivers/staging/bcm/PHSModule.c
index d2aa9c911d17..c2901788cc0a 100644
--- a/drivers/staging/bcm/PHSModule.c
+++ b/drivers/staging/bcm/PHSModule.c
@@ -895,50 +895,53 @@ static void free_phs_serviceflow_rules(struct bcm_phs_table *psServiceFlowRulesT
 	BCM_DEBUG_PRINT(Adapter, DBG_TYPE_OTHERS, PHS_DISPATCH, DBG_LVL_ALL,
 			"=======>\n");
 
-	if (psServiceFlowRulesTable) {
-		for (i = 0; i < MAX_SERVICEFLOWS; i++) {
-			struct bcm_phs_entry stServiceFlowEntry =
-				psServiceFlowRulesTable->stSFList[i];
-			struct bcm_phs_classifier_table *pstClassifierRulesTable =
-				stServiceFlowEntry.pstClassifierTable;
+	if (!psServiceFlowRulesTable)
+		goto out;
 
-			if (pstClassifierRulesTable) {
-				for (j = 0; j < MAX_PHSRULE_PER_SF; j++) {
-					curr_act_rules_list =
-						&pstClassifierRulesTable->stActivePhsRulesList[j];
+	for (i = 0; i < MAX_SERVICEFLOWS; i++) {
+		struct bcm_phs_entry stServiceFlowEntry =
+			psServiceFlowRulesTable->stSFList[i];
+		struct bcm_phs_classifier_table *pstClassifierRulesTable =
+			stServiceFlowEntry.pstClassifierTable;
 
-					curr_old_rules_list =
-						&pstClassifierRulesTable->stOldPhsRulesList[j];
+		if (pstClassifierRulesTable) {
+			for (j = 0; j < MAX_PHSRULE_PER_SF; j++) {
+				curr_act_rules_list =
+					&pstClassifierRulesTable->stActivePhsRulesList[j];
 
-					if (curr_act_rules_list->pstPhsRule) {
+				curr_old_rules_list =
+					&pstClassifierRulesTable->stOldPhsRulesList[j];
 
-						if (curr_act_rules_list->pstPhsRule->u8RefCnt)
-							curr_act_rules_list->pstPhsRule->u8RefCnt--;
+				if (curr_act_rules_list->pstPhsRule) {
 
-						if (0 == curr_act_rules_list->pstPhsRule->u8RefCnt)
-							kfree(curr_act_rules_list->pstPhsRule);
+					if (curr_act_rules_list->pstPhsRule->u8RefCnt)
+						curr_act_rules_list->pstPhsRule->u8RefCnt--;
 
-						curr_act_rules_list->pstPhsRule = NULL;
-					}
+					if (0 == curr_act_rules_list->pstPhsRule->u8RefCnt)
+						kfree(curr_act_rules_list->pstPhsRule);
 
-					if (curr_old_rules_list->pstPhsRule) {
+					curr_act_rules_list->pstPhsRule = NULL;
+				}
 
-						if (curr_old_rules_list->pstPhsRule->u8RefCnt)
-							curr_old_rules_list->pstPhsRule->u8RefCnt--;
+				if (curr_old_rules_list->pstPhsRule) {
 
-						if (0 == curr_old_rules_list->pstPhsRule->u8RefCnt)
-							kfree(curr_old_rules_list->pstPhsRule);
+					if (curr_old_rules_list->pstPhsRule->u8RefCnt)
+						curr_old_rules_list->pstPhsRule->u8RefCnt--;
 
-						curr_old_rules_list->pstPhsRule = NULL;
-					}
+					if (0 == curr_old_rules_list->pstPhsRule->u8RefCnt)
+						kfree(curr_old_rules_list->pstPhsRule);
+
+					curr_old_rules_list->pstPhsRule = NULL;
 				}
-				kfree(pstClassifierRulesTable);
-				stServiceFlowEntry.pstClassifierTable =
-					pstClassifierRulesTable = NULL;
 			}
+			kfree(pstClassifierRulesTable);
+			stServiceFlowEntry.pstClassifierTable =
+				pstClassifierRulesTable = NULL;
 		}
 	}
 
+out:
+
 	kfree(psServiceFlowRulesTable);
 	psServiceFlowRulesTable = NULL;
 }

The commit for this change in Linux stable tree is c8020cc (patch).

Last modified: 2020/02/10