diff options
author | Nogah Frankel <nogahf@mellanox.com> | 2017-12-25 10:51:42 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2018-01-02 13:17:45 -0500 |
commit | 44edf2f89791d162f4dc5ec3718d21f3d6644403 (patch) | |
tree | 62445e245b6944cf4b8b0559a3e4a35050589eee /net/sched | |
parent | 8234af2db3614d78b49e77ef46ea8cfab6586568 (diff) | |
download | linux-44edf2f89791d162f4dc5ec3718d21f3d6644403.tar.gz linux-44edf2f89791d162f4dc5ec3718d21f3d6644403.tar.bz2 linux-44edf2f89791d162f4dc5ec3718d21f3d6644403.zip |
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.c | 5 |
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); |