summaryrefslogtreecommitdiffstats
path: root/net/sched/sch_api.c
diff options
context:
space:
mode:
authorNogah Frankel <nogahf@mellanox.com>2017-12-25 10:51:42 +0200
committerDavid S. Miller <davem@davemloft.net>2018-01-02 13:17:45 -0500
commit44edf2f89791d162f4dc5ec3718d21f3d6644403 (patch)
tree62445e245b6944cf4b8b0559a3e4a35050589eee /net/sched/sch_api.c
parent8234af2db3614d78b49e77ef46ea8cfab6586568 (diff)
downloadop-kernel-dev-44edf2f89791d162f4dc5ec3718d21f3d6644403.zip
op-kernel-dev-44edf2f89791d162f4dc5ec3718d21f3d6644403.tar.gz
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/sch_api.c')
-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 81ecf5b..8a04c36 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);
OpenPOWER on IntegriCloud