From 1e1c577c804b8a4ae687433ff6f61d169503826d Mon Sep 17 00:00:00 2001 From: Jarek Poplawski Date: Wed, 27 Aug 2008 02:22:07 -0700 Subject: [PATCH] --- yaml --- r: 109234 b: refs/heads/master c: f7a54c13c7b072d9426bd5cec1cdb8306df5ef55 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/net/sched/sch_api.c | 2 +- trunk/net/sched/sch_generic.c | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/[refs] b/[refs] index fe0bf5c162f6..852cbae9609c 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 666d9bbedfff7c2c37eab92e715641922dee6864 +refs/heads/master: f7a54c13c7b072d9426bd5cec1cdb8306df5ef55 diff --git a/trunk/net/sched/sch_api.c b/trunk/net/sched/sch_api.c index 341d558b6e39..ad9cda1b8c0a 100644 --- a/trunk/net/sched/sch_api.c +++ b/trunk/net/sched/sch_api.c @@ -635,7 +635,7 @@ static struct Qdisc *dev_graft_qdisc(struct netdev_queue *dev_queue, if (qdisc == NULL) qdisc = &noop_qdisc; dev_queue->qdisc_sleeping = qdisc; - dev_queue->qdisc = &noop_qdisc; + rcu_assign_pointer(dev_queue->qdisc, &noop_qdisc); spin_unlock_bh(root_lock); diff --git a/trunk/net/sched/sch_generic.c b/trunk/net/sched/sch_generic.c index 5f0ade7806a7..9634091ee2f0 100644 --- a/trunk/net/sched/sch_generic.c +++ b/trunk/net/sched/sch_generic.c @@ -634,7 +634,7 @@ static void dev_deactivate_queue(struct net_device *dev, if (!(qdisc->flags & TCQ_F_BUILTIN)) set_bit(__QDISC_STATE_DEACTIVATED, &qdisc->state); - dev_queue->qdisc = qdisc_default; + rcu_assign_pointer(dev_queue->qdisc, qdisc_default); qdisc_reset(qdisc); spin_unlock_bh(qdisc_lock(qdisc)); @@ -709,7 +709,7 @@ static void shutdown_scheduler_queue(struct net_device *dev, struct Qdisc *qdisc_default = _qdisc_default; if (qdisc) { - dev_queue->qdisc = qdisc_default; + rcu_assign_pointer(dev_queue->qdisc, qdisc_default); dev_queue->qdisc_sleeping = qdisc_default; qdisc_destroy(qdisc);