diff options
Diffstat (limited to 'net/sched/act_simple.c')
-rw-r--r-- | net/sched/act_simple.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/net/sched/act_simple.c b/net/sched/act_simple.c index 81aebc162e5c..b44491e3ec17 100644 --- a/net/sched/act_simple.c +++ b/net/sched/act_simple.c | |||
@@ -135,10 +135,13 @@ static int tcf_simp_init(struct net *net, struct nlattr *nla, | |||
135 | ret = ACT_P_CREATED; | 135 | ret = ACT_P_CREATED; |
136 | } else { | 136 | } else { |
137 | d = to_defact(pc); | 137 | d = to_defact(pc); |
138 | if (!ovr) { | 138 | |
139 | tcf_simp_release(d, bind); | 139 | if (bind) |
140 | return 0; | ||
141 | tcf_simp_release(d, bind); | ||
142 | if (!ovr) | ||
140 | return -EEXIST; | 143 | return -EEXIST; |
141 | } | 144 | |
142 | reset_policy(d, defdata, parm); | 145 | reset_policy(d, defdata, parm); |
143 | } | 146 | } |
144 | 147 | ||