summaryrefslogtreecommitdiff
path: root/net/sched
diff options
context:
space:
mode:
authorNogah Frankel <nogahf@mellanox.com>2017-12-25 11:51:42 +0300
committerDavid S. Miller <davem@davemloft.net>2018-01-02 21:17:45 +0300
commit44edf2f89791d162f4dc5ec3718d21f3d6644403 (patch)
tree62445e245b6944cf4b8b0559a3e4a35050589eee /net/sched
parent8234af2db3614d78b49e77ef46ea8cfab6586568 (diff)
downloadlinux-44edf2f89791d162f4dc5ec3718d21f3d6644403.tar.xz
net: sched: Move offload check till after dump call
Move the check of the offload state to after the qdisc dump action was called, so the qdisc could update it if it was changed. Fixes: 7a4fa29106d9 ("net: sched: Add TCA_HW_OFFLOAD") Signed-off-by: Nogah Frankel <nogahf@mellanox.com> Reviewed-by: Yuval Mintz <yuvalm@mellanox.com> Acked-by: Jiri Pirko <jiri@mellanox.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/sched')
-rw-r--r--net/sched/sch_api.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/net/sched/sch_api.c b/net/sched/sch_api.c
index 81ecf5bec26d..8a04c36e579f 100644
--- a/net/sched/sch_api.c
+++ b/net/sched/sch_api.c
@@ -807,11 +807,10 @@ static int tc_fill_qdisc(struct sk_buff *skb, struct Qdisc *q, u32 clid,
tcm->tcm_info = refcount_read(&q->refcnt);
if (nla_put_string(skb, TCA_KIND, q->ops->id))
goto nla_put_failure;
- if (nla_put_u8(skb, TCA_HW_OFFLOAD, !!(q->flags & TCQ_F_OFFLOADED)))
- goto nla_put_failure;
if (q->ops->dump && q->ops->dump(q, skb) < 0)
goto nla_put_failure;
-
+ if (nla_put_u8(skb, TCA_HW_OFFLOAD, !!(q->flags & TCQ_F_OFFLOADED)))
+ goto nla_put_failure;
qlen = qdisc_qlen_sum(q);
stab = rtnl_dereference(q->stab);