From e46032840eae03a502638049468edc1167345c9c Mon Sep 17 00:00:00 2001 From: Jarek Poplawski Date: Tue, 20 Jan 2009 14:06:26 -0800 Subject: pkt_sched: sch_htb: Fix deadlock in hrtimers triggered by HTB [ Upstream commit: none This is a quick fix for -stable purposes. Upstream fixes these problems via a large set of invasive hrtimer changes. ] Most probably there is a (still unproven) race in hrtimers (before 2.6.29 kernels), which causes a corruption of hrtimers rbtree. This patch doesn't fix it, but should let HTB avoid triggering the bug. Reported-by: Denys Fedoryschenko Reported-by: Badalian Vyacheslav Reported-by: Chris Caputo Tested-by: Badalian Vyacheslav Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller Signed-off-by: Greg Kroah-Hartman --- net/sched/sch_htb.c | 1 + 1 file changed, 1 insertion(+) diff --git a/net/sched/sch_htb.c b/net/sched/sch_htb.c index d14f02056ae6..d2943a4864fa 100644 --- a/net/sched/sch_htb.c +++ b/net/sched/sch_htb.c @@ -924,6 +924,7 @@ static struct sk_buff *htb_dequeue(struct Qdisc *sch) } } sch->qstats.overlimits++; + qdisc_watchdog_cancel(&q->watchdog); qdisc_watchdog_schedule(&q->watchdog, next_event); fin: return skb; -- cgit v1.2.3