diff options
Diffstat (limited to 'kernel/workqueue.c')
| -rw-r--r-- | kernel/workqueue.c | 5 | 
1 files changed, 3 insertions, 2 deletions
| diff --git a/kernel/workqueue.c b/kernel/workqueue.c index 5dbe22aa3efd..09b685daee3d 100644 --- a/kernel/workqueue.c +++ b/kernel/workqueue.c @@ -2043,9 +2043,10 @@ __acquires(&pool->lock)  	 * kernels, where a requeueing work item waiting for something to  	 * happen could deadlock with stop_machine as such work item could  	 * indefinitely requeue itself while all other CPUs are trapped in -	 * stop_machine. +	 * stop_machine. At the same time, report a quiescent RCU state so +	 * the same condition doesn't freeze RCU.  	 */ -	cond_resched(); +	cond_resched_rcu_qs();  	spin_lock_irq(&pool->lock); |