diff options
-rw-r--r-- | net/sched/act_ife.c | 8 |
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) { |
553 | metadata_parse_err: | 553 | metadata_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 | } |