diff --git a/net/sched/cls_api.c b/net/sched/cls_api.c index c28b0d3..1218900 100644 --- a/net/sched/cls_api.c +++ b/net/sched/cls_api.c @@ -576,16 +576,18 @@ int tcf_exts_dump(struct sk_buff *skb, struct tcf_exts *exts) if (tcf_action_dump(skb, &exts->actions, 0, 0) < 0) goto nla_put_failure; nla_nest_end(skb, nest); - } else if (exts->police) { - struct tc_action *act = tcf_exts_first_act(exts); - nest = nla_nest_start(skb, exts->police); - if (nest == NULL || !act) - goto nla_put_failure; - if (tcf_action_dump_old(skb, act, 0, 0) < 0) - goto nla_put_failure; - nla_nest_end(skb, nest); } } + + if (exts->police) { + struct tc_action *act = tcf_exts_first_act(exts); + nest = nla_nest_start(skb, exts->police); + if (nest == NULL || !act) + goto nla_put_failure; + if (tcf_action_dump_old(skb, act, 0, 0) < 0) + goto nla_put_failure; + nla_nest_end(skb, nest); + } return 0; nla_put_failure: