summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--net/sched/act_ife.c8
1 files changed, 2 insertions, 6 deletions
diff --git a/net/sched/act_ife.c b/net/sched/act_ife.c
index fdb928ca81bb..d1081bdf1bdb 100644
--- a/net/sched/act_ife.c
+++ b/net/sched/act_ife.c
@@ -551,9 +551,6 @@ static int tcf_ife_init(struct net *net, struct nlattr *nla,
551 NULL, NULL); 551 NULL, NULL);
552 if (err) { 552 if (err) {
553metadata_parse_err: 553metadata_parse_err:
554 if (ret == ACT_P_CREATED)
555 tcf_idr_release(*a, bind);
556
557 if (exists) 554 if (exists)
558 spin_unlock_bh(&ife->tcf_lock); 555 spin_unlock_bh(&ife->tcf_lock);
559 tcf_idr_release(*a, bind); 556 tcf_idr_release(*a, bind);
@@ -574,11 +571,10 @@ metadata_parse_err:
574 */ 571 */
575 err = use_all_metadata(ife); 572 err = use_all_metadata(ife);
576 if (err) { 573 if (err) {
577 if (ret == ACT_P_CREATED)
578 tcf_idr_release(*a, bind);
579
580 if (exists) 574 if (exists)
581 spin_unlock_bh(&ife->tcf_lock); 575 spin_unlock_bh(&ife->tcf_lock);
576 tcf_idr_release(*a, bind);
577
582 kfree(p); 578 kfree(p);
583 return err; 579 return err;
584 } 580 }