diff options
| author | Cong Wang <xiyou.wangcong@gmail.com> | 2025-04-03 14:10:23 -0700 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2025-05-09 09:44:04 +0200 |
| commit | bbbf5e0f87078b715e7a665d662a2c0e77f044ae (patch) | |
| tree | 8e3e821a4d51bc07c2954cbfe58c0506f8cd2ebc /net | |
| parent | b9ded1fb298b29d758f9bb3f6532577fff89cdfe (diff) | |
| download | linux-bbbf5e0f87078b715e7a665d662a2c0e77f044ae.tar.gz linux-bbbf5e0f87078b715e7a665d662a2c0e77f044ae.tar.bz2 linux-bbbf5e0f87078b715e7a665d662a2c0e77f044ae.zip | |
sch_htb: make htb_qlen_notify() idempotent
commit 5ba8b837b522d7051ef81bacf3d95383ff8edce5 upstream.
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>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
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 19035ef8387f..9a3f7ea80b34 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); } |
