diff options
author | Dave C Boutcher <boutcher@cs.umn.edu> | 2006-02-03 01:18:39 -0600 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2006-02-07 21:32:43 +1100 |
commit | 82a4df74628a3bf0ac762be198b45e02a7c5879f (patch) | |
tree | 4aa144d331a3d5701bfc78349c8935bf5de01bf6 /arch/powerpc/kernel/rtas.c | |
parent | c4cb8ecca66e3f136f66b5b30ec189530290a9b9 (diff) |
[PATCH] powerpc: prod all processors after ibm,suspend-me
We need to prod everyone here since this is the only CPU that is
guaranteed to be running after the ibm,suspend-me RTAS call returns.
Signed-off-by: Dave Boutcher <sleddog@us.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'arch/powerpc/kernel/rtas.c')
-rw-r--r-- | arch/powerpc/kernel/rtas.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/powerpc/kernel/rtas.c b/arch/powerpc/kernel/rtas.c index f9b34e3ccf5a..0c6ed6d75b17 100644 --- a/arch/powerpc/kernel/rtas.c +++ b/arch/powerpc/kernel/rtas.c @@ -566,6 +566,7 @@ static int ibm_suspend_me_token = RTAS_UNKNOWN_SERVICE; #ifdef CONFIG_PPC_PSERIES static void rtas_percpu_suspend_me(void *info) { + int i; long rc; long flags; struct rtas_suspend_me_data *data = @@ -590,6 +591,8 @@ static void rtas_percpu_suspend_me(void *info) data->waiting = 0; data->args->args[data->args->nargs] = rtas_call(ibm_suspend_me_token, 0, 1, NULL); + for_each_cpu(i) + plpar_hcall_norets(H_PROD,i); } else { data->waiting = -EBUSY; printk(KERN_ERR "Error on H_Join hypervisor call\n"); |