aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'net/sched/act_api.c')
-rw-r--r--net/sched/act_api.c5
1 files changed, 1 insertions, 4 deletions
diff --git a/net/sched/act_api.c b/net/sched/act_api.c
index 06e7c4a37245..694a06f1e0d5 100644
--- a/net/sched/act_api.c
+++ b/net/sched/act_api.c
@@ -820,10 +820,8 @@ static int tca_action_flush(struct net *net, struct nlattr *nla,
820 goto out_module_put; 820 goto out_module_put;
821 821
822 err = a.ops->walk(skb, &dcb, RTM_DELACTION, &a); 822 err = a.ops->walk(skb, &dcb, RTM_DELACTION, &a);
823 if (err < 0) 823 if (err <= 0)
824 goto out_module_put; 824 goto out_module_put;
825 if (err == 0)
826 goto noflush_out;
827 825
828 nla_nest_end(skb, nest); 826 nla_nest_end(skb, nest);
829 827
@@ -840,7 +838,6 @@ static int tca_action_flush(struct net *net, struct nlattr *nla,
840out_module_put: 838out_module_put:
841 module_put(a.ops->owner); 839 module_put(a.ops->owner);
842err_out: 840err_out:
843noflush_out:
844 kfree_skb(skb); 841 kfree_skb(skb);
845 return err; 842 return err;
846} 843}