diff options
Diffstat (limited to 'net/sched/sch_dsmark.c')
-rw-r--r-- | net/sched/sch_dsmark.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/net/sched/sch_dsmark.c b/net/sched/sch_dsmark.c index 3f9427a4b757..d303daa45d49 100644 --- a/net/sched/sch_dsmark.c +++ b/net/sched/sch_dsmark.c | |||
@@ -68,7 +68,8 @@ static int dsmark_graft(struct Qdisc *sch, unsigned long arg, | |||
68 | } | 68 | } |
69 | 69 | ||
70 | sch_tree_lock(sch); | 70 | sch_tree_lock(sch); |
71 | *old = xchg(&p->q, new); | 71 | *old = p->q; |
72 | p->q = new; | ||
72 | qdisc_tree_decrease_qlen(*old, (*old)->q.qlen); | 73 | qdisc_tree_decrease_qlen(*old, (*old)->q.qlen); |
73 | qdisc_reset(*old); | 74 | qdisc_reset(*old); |
74 | sch_tree_unlock(sch); | 75 | sch_tree_unlock(sch); |