aboutsummaryrefslogtreecommitdiffstats
path: root/net/sched/sch_generic.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/sched/sch_generic.c')
-rw-r--r--net/sched/sch_generic.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/net/sched/sch_generic.c b/net/sched/sch_generic.c
index 19696ebe9ebc..346ef85617d3 100644
--- a/net/sched/sch_generic.c
+++ b/net/sched/sch_generic.c
@@ -783,7 +783,7 @@ static void dev_deactivate_queue(struct net_device *dev,
783 struct Qdisc *qdisc_default = _qdisc_default; 783 struct Qdisc *qdisc_default = _qdisc_default;
784 struct Qdisc *qdisc; 784 struct Qdisc *qdisc;
785 785
786 qdisc = dev_queue->qdisc; 786 qdisc = rtnl_dereference(dev_queue->qdisc);
787 if (qdisc) { 787 if (qdisc) {
788 spin_lock_bh(qdisc_lock(qdisc)); 788 spin_lock_bh(qdisc_lock(qdisc));
789 789
@@ -876,7 +876,7 @@ static void dev_init_scheduler_queue(struct net_device *dev,
876{ 876{
877 struct Qdisc *qdisc = _qdisc; 877 struct Qdisc *qdisc = _qdisc;
878 878
879 dev_queue->qdisc = qdisc; 879 rcu_assign_pointer(dev_queue->qdisc, qdisc);
880 dev_queue->qdisc_sleeping = qdisc; 880 dev_queue->qdisc_sleeping = qdisc;
881} 881}
882 882