From 3a8fbf57fea7e489094b0f49d7c6ff748352719a Mon Sep 17 00:00:00 2001 From: "Paul E. McKenney" Date: Mon, 4 Jan 2010 15:09:01 -0800 Subject: [PATCH] --- yaml --- r: 182225 b: refs/heads/master c: 559569acf94f538b56bd6eead80b439d6a78cdff h: refs/heads/master i: 182223: 7ead65c71ac27339cfd4e881937ef200b123e636 v: v3 --- [refs] | 2 +- trunk/kernel/rcutree.c | 13 +++---------- 2 files changed, 4 insertions(+), 11 deletions(-) diff --git a/[refs] b/[refs] index 26f6e92162c6..5ff0ae3228b9 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: f96e9232e04856c781d4f71923a46dd3f7b429fa +refs/heads/master: 559569acf94f538b56bd6eead80b439d6a78cdff diff --git a/trunk/kernel/rcutree.c b/trunk/kernel/rcutree.c index eae331da6bee..d42ad30c4d70 100644 --- a/trunk/kernel/rcutree.c +++ b/trunk/kernel/rcutree.c @@ -1219,7 +1219,6 @@ static void force_quiescent_state(struct rcu_state *rsp, int relaxed) case RCU_GP_IDLE: case RCU_GP_INIT: - spin_unlock(&rnp->lock); break; /* grace period idle or initializing, ignore. */ case RCU_SAVE_DYNTICK: @@ -1246,10 +1245,8 @@ static void force_quiescent_state(struct rcu_state *rsp, int relaxed) rsp->completed_fqs = lastcomp; forcenow = signaled == RCU_SAVE_COMPLETED; } - if (!forcenow) { - spin_unlock(&rnp->lock); + if (!forcenow) break; - } /* fall into next case. */ case RCU_FORCE_QS: @@ -1262,14 +1259,10 @@ static void force_quiescent_state(struct rcu_state *rsp, int relaxed) /* Leave state in case more forcing is required. */ - break; - - default: - - spin_unlock(&rnp->lock); - WARN_ON_ONCE(1); + spin_lock(&rnp->lock); break; } + spin_unlock(&rnp->lock); unlock_fqs_ret: spin_unlock_irqrestore(&rsp->fqslock, flags); }