From: Cong Wang Date: Thu, 3 Apr 2025 21:10:23 +0000 (-0700) Subject: sch_htb: make htb_qlen_notify() idempotent X-Git-Tag: v6.15-rc2~22^2~18^2~10 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=5ba8b837b522d7051ef81bacf3d95383ff8edce5;p=thirdparty%2Flinux.git 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 Signed-off-by: Cong Wang Reviewed-by: Simon Horman Link: https://patch.msgid.link/20250403211033.166059-2-xiyou.wangcong@gmail.com Acked-by: Jamal Hadi Salim Signed-off-by: Paolo Abeni --- diff --git a/net/sched/sch_htb.c b/net/sched/sch_htb.c index c31bc5489bddc..4b9a639b642e1 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); }