diff options
author | Gautham R Shenoy <ego@in.ibm.com> | 2006-11-05 23:52:04 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-11-06 01:46:22 -0800 |
commit | 4b96b1a10cb00c867103b21f0f2a6c91b705db11 (patch) | |
tree | 25b95e00b413025682b933da182caca2a048a475 /kernel/cpu.c | |
parent | d1ed6a3ea10aa7b199c434f6ffd1b6761896567a (diff) | |
download | linux-4b96b1a10cb00c867103b21f0f2a6c91b705db11.tar.gz linux-4b96b1a10cb00c867103b21f0f2a6c91b705db11.tar.bz2 linux-4b96b1a10cb00c867103b21f0f2a6c91b705db11.zip |
[PATCH] Fix the spurious unlock_cpu_hotplug false warnings
Cpu-hotplug locking has a minor race case caused because of setting the
variable "recursive" to NULL *after* releasing the cpu_bitmask_lock in the
function unlock_cpu_hotplug,instead of doing so before releasing the
cpu_bitmask_lock.
This was the cause of most of the recent false spurious lock_cpu_unlock
warnings.
This should fix the problem reported by Martin Lorenz reported in
http://lkml.org/lkml/2006/10/29/127.
Thanks to Srinivasa DS for pointing it out.
Signed-off-by: Gautham R Shenoy <ego@in.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'kernel/cpu.c')
-rw-r--r-- | kernel/cpu.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/kernel/cpu.c b/kernel/cpu.c index 663c920b2234..272254f20d97 100644 --- a/kernel/cpu.c +++ b/kernel/cpu.c @@ -58,8 +58,8 @@ void unlock_cpu_hotplug(void) recursive_depth--; return; } - mutex_unlock(&cpu_bitmask_lock); recursive = NULL; + mutex_unlock(&cpu_bitmask_lock); } EXPORT_SYMBOL_GPL(unlock_cpu_hotplug); |