: tc actions: disable bhs while lock is held in init path
Subsystems (3)
PATCH 3/6 : tc actions: disable bhs while lock is held in init path
The lock is also used in softirq context.
# This is a BitKeeper generated diff -Nru style patch. #
# ChangeSet
# 2005/01/11 20:32:35+01:00 [email protected]
# [PKT_SCHED]: tc actions: disable bhs while lock is held in init path
#
# Signed-off-by: Patrick McHardy <[email protected]>
#
# net/sched/police.c # 2005/01/11 20:32:28+01:00 [email protected] +2 -2 # [PKT_SCHED]: tc actions: disable bhs while lock is held in init path # # Signed-off-by: Patrick McHardy <[email protected]> # # net/sched/mirred.c # 2005/01/11 20:32:28+01:00 [email protected] +2 -2 # [PKT_SCHED]: tc actions: disable bhs while lock is held in init path # # Signed-off-by: Patrick McHardy <[email protected]> # diff -Nru a/net/sched/mirred.c b/net/sched/mirred.c --- a/net/sched/mirred.c 2005-01-11 22:32:15 +01:00 +++ b/net/sched/mirred.c 2005-01-11 22:32:15 +01:00 @@ -126,7 +126,7 @@ } }
- spin_lock(&p->lock);
+ spin_lock_bh(&p->lock);
p->action = parm->action;
p->eaction = parm->eaction;
if (parm->ifindex) {
@@ -137,7 +137,7 @@
dev_hold(dev);
p->ok_push = ok_push;
}
- spin_unlock(&p->lock);
+ spin_unlock_bh(&p->lock);
if (ret == ACT_P_CREATED)
tcf_hash_insert(p);
net/sched/police.c +2 -2
@@ -224,7 +224,7 @@ } }/* No failure allowed after this point */ -spin_lock (&p->lock); +spin_lock_bh (&p->lock);if (R_tab !=NULL ) {qdisc_put_rtab (p->R_tab); p->R_tab = R_tab;
@@ -254,7 +254,7 @@gen_replace_estimator (&p->bstats, &p->rate_est, p->stats_lock, est);#endif -spin_unlock (&p->lock); +spin_unlock_bh (&p->lock);if (ret !=ACT_P_CREATED )return ret;