diff options
author | Cong Wang <xiyou.wangcong@gmail.com> | 2025-04-03 14:10:23 -0700 |
---|---|---|
committer | Paolo Abeni <pabeni@redhat.com> | 2025-04-08 10:57:49 +0200 |
commit | 5ba8b837b522d7051ef81bacf3d95383ff8edce5 (patch) | |
tree | 75996ee2ece3aab43a008419ff7a56fa7bc5fbb5 /net | |
parent | 69ae94725f4fc9e75219d2d69022029c5b24bc9a (diff) |
sch_htb: make htb_qlen_notify() idempotent
htb_qlen_notify() always deactivates the HTB class and in fact could
trigger a warning if it is already deactivated. Therefore, it is not
idempotent and not friendly to its callers, like fq_codel_dequeue().
Let's make it idempotent to ease qdisc_tree_reduce_backlog() callers'
life.
Reported-by: Gerrard Tai <gerrard.tai@starlabs.sg>
Signed-off-by: Cong Wang <xiyou.wangcong@gmail.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Link: https://patch.msgid.link/20250403211033.166059-2-xiyou.wangcong@gmail.com
Acked-by: Jamal Hadi Salim <jhs@mojatatu.com>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Diffstat (limited to 'net')
-rw-r--r-- | net/sched/sch_htb.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/net/sched/sch_htb.c b/net/sched/sch_htb.c index c31bc5489bdd..4b9a639b642e 100644 --- a/net/sched/sch_htb.c +++ b/net/sched/sch_htb.c @@ -1485,6 +1485,8 @@ static void htb_qlen_notify(struct Qdisc *sch, unsigned long arg) { struct htb_class *cl = (struct htb_class *)arg; + if (!cl->prio_activity) + return; htb_deactivate(qdisc_priv(sch), cl); } |