diff options
Diffstat (limited to 'kernel/rcu/tree.c')
| -rw-r--r-- | kernel/rcu/tree.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/kernel/rcu/tree.c b/kernel/rcu/tree.c index 3fe854a15d82..85417584ffd0 100644 --- a/kernel/rcu/tree.c +++ b/kernel/rcu/tree.c | |||
| @@ -2308,8 +2308,10 @@ static void rcu_report_unblock_qs_rnp(struct rcu_state *rsp, | |||
| 2308 | struct rcu_node *rnp_p; | 2308 | struct rcu_node *rnp_p; |
| 2309 | 2309 | ||
| 2310 | raw_lockdep_assert_held_rcu_node(rnp); | 2310 | raw_lockdep_assert_held_rcu_node(rnp); |
| 2311 | if (rcu_state_p == &rcu_sched_state || rsp != rcu_state_p || | 2311 | if (WARN_ON_ONCE(rcu_state_p == &rcu_sched_state) || |
| 2312 | rnp->qsmask != 0 || rcu_preempt_blocked_readers_cgp(rnp)) { | 2312 | WARN_ON_ONCE(rsp != rcu_state_p) || |
| 2313 | WARN_ON_ONCE(rcu_preempt_blocked_readers_cgp(rnp)) || | ||
| 2314 | rnp->qsmask != 0) { | ||
| 2313 | raw_spin_unlock_irqrestore_rcu_node(rnp, flags); | 2315 | raw_spin_unlock_irqrestore_rcu_node(rnp, flags); |
| 2314 | return; /* Still need more quiescent states! */ | 2316 | return; /* Still need more quiescent states! */ |
| 2315 | } | 2317 | } |
