diff options
Diffstat (limited to 'net/sched/act_gact.c')
-rw-r--r-- | net/sched/act_gact.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/net/sched/act_gact.c b/net/sched/act_gact.c index fd2b3cff5fa2..eb9ba60ebab4 100644 --- a/net/sched/act_gact.c +++ b/net/sched/act_gact.c | |||
@@ -102,10 +102,11 @@ static int tcf_gact_init(struct net *net, struct nlattr *nla, | |||
102 | return PTR_ERR(pc); | 102 | return PTR_ERR(pc); |
103 | ret = ACT_P_CREATED; | 103 | ret = ACT_P_CREATED; |
104 | } else { | 104 | } else { |
105 | if (!ovr) { | 105 | if (bind)/* dont override defaults */ |
106 | tcf_hash_release(pc, bind, &gact_hash_info); | 106 | return 0; |
107 | tcf_hash_release(pc, bind, &gact_hash_info); | ||
108 | if (!ovr) | ||
107 | return -EEXIST; | 109 | return -EEXIST; |
108 | } | ||
109 | } | 110 | } |
110 | 111 | ||
111 | gact = to_gact(pc); | 112 | gact = to_gact(pc); |
@@ -206,9 +207,7 @@ static struct tc_action_ops act_gact_ops = { | |||
206 | .act = tcf_gact, | 207 | .act = tcf_gact, |
207 | .dump = tcf_gact_dump, | 208 | .dump = tcf_gact_dump, |
208 | .cleanup = tcf_gact_cleanup, | 209 | .cleanup = tcf_gact_cleanup, |
209 | .lookup = tcf_hash_search, | ||
210 | .init = tcf_gact_init, | 210 | .init = tcf_gact_init, |
211 | .walk = tcf_generic_walker | ||
212 | }; | 211 | }; |
213 | 212 | ||
214 | MODULE_AUTHOR("Jamal Hadi Salim(2002-4)"); | 213 | MODULE_AUTHOR("Jamal Hadi Salim(2002-4)"); |