diff options
| author | Lai Jiangshan <laijs@cn.fujitsu.com> | 2013-03-20 03:28:21 +0800 | 
|---|---|---|
| committer | Tejun Heo <tj@kernel.org> | 2013-03-20 11:21:34 -0700 | 
| commit | 519e3c1163ce2b2d510b76b0f5b374198f9378f3 (patch) | |
| tree | 57fc8b79a3e9a64517a328dd626a4df2b2d0227f /kernel/workqueue.c | |
| parent | 881094532e2a27406a5f06f839087bd152a8a494 (diff) | |
| download | olio-linux-3.10-519e3c1163ce2b2d510b76b0f5b374198f9378f3.tar.xz olio-linux-3.10-519e3c1163ce2b2d510b76b0f5b374198f9378f3.zip  | |
workqueue: avoid false negative in assert_manager_or_pool_lock()
If lockdep complains something for other subsystem, lockdep_is_held()
can be false negative, so we need to also test debug_locks before
triggering WARN.
Signed-off-by: Lai Jiangshan <laijs@cn.fujitsu.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
Diffstat (limited to 'kernel/workqueue.c')
| -rw-r--r-- | kernel/workqueue.c | 3 | 
1 files changed, 2 insertions, 1 deletions
diff --git a/kernel/workqueue.c b/kernel/workqueue.c index b6c5a524d7c..47f258799bf 100644 --- a/kernel/workqueue.c +++ b/kernel/workqueue.c @@ -305,7 +305,8 @@ static void copy_workqueue_attrs(struct workqueue_attrs *to,  #ifdef CONFIG_LOCKDEP  #define assert_manager_or_pool_lock(pool)				\ -	WARN_ONCE(!lockdep_is_held(&(pool)->manager_mutex) &&		\ +	WARN_ONCE(debug_locks &&					\ +		  !lockdep_is_held(&(pool)->manager_mutex) &&		\  		  !lockdep_is_held(&(pool)->lock),			\  		  "pool->manager_mutex or ->lock should be held")  #else  |