summaryrefslogtreecommitdiff
path: root/net/sched/sch_sfq.c
diff options
context:
space:
mode:
authorJarek Poplawski <jarkao2@gmail.com>2008-04-29 14:29:03 +0400
committerDavid S. Miller <davem@davemloft.net>2008-04-29 14:29:03 +0400
commit980c478ddbb720948967b028ddbb4179a025bc2c (patch)
tree0a0568de2af7e9daea8d5473f62b9dc470647f9a /net/sched/sch_sfq.c
parent42908c69f61f75dd70e424263ab89ee52040382b (diff)
downloadlinux-980c478ddbb720948967b028ddbb4179a025bc2c.tar.xz
sch_sfq: use del_timer_sync() in sfq_destroy()
Let's delete timer reliably in sfq_destroy(). Signed-off-by: Jarek Poplawski <jarkao2@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/sched/sch_sfq.c')
-rw-r--r--net/sched/sch_sfq.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/net/sched/sch_sfq.c b/net/sched/sch_sfq.c
index a20e2ef7704b..f0463d757a98 100644
--- a/net/sched/sch_sfq.c
+++ b/net/sched/sch_sfq.c
@@ -521,7 +521,8 @@ static void sfq_destroy(struct Qdisc *sch)
struct sfq_sched_data *q = qdisc_priv(sch);
tcf_destroy_chain(q->filter_list);
- del_timer(&q->perturb_timer);
+ q->perturb_period = 0;
+ del_timer_sync(&q->perturb_timer);
}
static int sfq_dump(struct Qdisc *sch, struct sk_buff *skb)