diff options
Diffstat (limited to 'kernel/rcutree_plugin.h')
| -rw-r--r-- | kernel/rcutree_plugin.h | 6 | 
1 files changed, 4 insertions, 2 deletions
diff --git a/kernel/rcutree_plugin.h b/kernel/rcutree_plugin.h index 70b33bf780f..df47014e129 100644 --- a/kernel/rcutree_plugin.h +++ b/kernel/rcutree_plugin.h @@ -422,9 +422,11 @@ static void rcu_print_detail_task_stall_rnp(struct rcu_node *rnp)  	unsigned long flags;  	struct task_struct *t; -	if (!rcu_preempt_blocked_readers_cgp(rnp)) -		return;  	raw_spin_lock_irqsave(&rnp->lock, flags); +	if (!rcu_preempt_blocked_readers_cgp(rnp)) { +		raw_spin_unlock_irqrestore(&rnp->lock, flags); +		return; +	}  	t = list_entry(rnp->gp_tasks,  		       struct task_struct, rcu_node_entry);  	list_for_each_entry_continue(t, &rnp->blkd_tasks, rcu_node_entry)  |