summaryrefslogtreecommitdiffstats
path: root/kernel/stop_machine.c
diff options
context:
space:
mode:
authorIngo Molnar2008-12-04 08:52:14 +0100
committerIngo Molnar2008-12-04 08:52:14 +0100
commitcb9c34e6d090d376b77becaa5d29a65dec7f4272 (patch)
tree3678abce20d6825aebe3fec218057d4131e13fd6 /kernel/stop_machine.c
parentgenirq: warn when IRQF_DISABLED may be ignored (diff)
parentLinux 2.6.28-rc7 (diff)
downloadkernel-qcow2-linux-cb9c34e6d090d376b77becaa5d29a65dec7f4272.tar.gz
kernel-qcow2-linux-cb9c34e6d090d376b77becaa5d29a65dec7f4272.tar.xz
kernel-qcow2-linux-cb9c34e6d090d376b77becaa5d29a65dec7f4272.zip
Merge commit 'v2.6.28-rc7' into core/locking
Diffstat (limited to 'kernel/stop_machine.c')
-rw-r--r--kernel/stop_machine.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/kernel/stop_machine.c b/kernel/stop_machine.c
index 9bc4c00872c9..24e8ceacc388 100644
--- a/kernel/stop_machine.c
+++ b/kernel/stop_machine.c
@@ -112,7 +112,7 @@ static int chill(void *unused)
int __stop_machine(int (*fn)(void *), void *data, const cpumask_t *cpus)
{
struct work_struct *sm_work;
- int i;
+ int i, ret;
/* Set up initial state. */
mutex_lock(&lock);
@@ -137,8 +137,9 @@ int __stop_machine(int (*fn)(void *), void *data, const cpumask_t *cpus)
/* This will release the thread on our CPU. */
put_cpu();
flush_workqueue(stop_machine_wq);
+ ret = active.fnret;
mutex_unlock(&lock);
- return active.fnret;
+ return ret;
}
int stop_machine(int (*fn)(void *), void *data, const cpumask_t *cpus)