diff options
author | Tang Yuantian <B29983@freescale.com> | 2011-08-16 19:51:33 +0000 |
---|---|---|
committer | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2011-09-20 09:19:58 +1000 |
commit | 0330581ab3b9002d55ee66f377ccbbb742175c01 (patch) | |
tree | f6c75c875b3c16371c24c5bba0e519b52a4f5e68 /arch | |
parent | 9c57a32b2f1615e0ad77e9d3b68fd720f43430da (diff) | |
download | op-kernel-dev-0330581ab3b9002d55ee66f377ccbbb742175c01.zip op-kernel-dev-0330581ab3b9002d55ee66f377ccbbb742175c01.tar.gz |
powerpc/mm: Fix the call trace when resumed from hibernation
In SMP mode, the kernel would produce call trace when resumed
from hibernation. The reason is when the function destroy_context
is called to drop the resuming mm context, the mm->context.active
is 1 which is wrong and should be zero.
We pass the current->active_mm as previous mm context to function
switch_mmu_context to decrease the context.active by 1.
In UP mode, there is no effect.
Signed-off-by: Tang Yuantian <b29983@freescale.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/powerpc/kernel/swsusp.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/powerpc/kernel/swsusp.c b/arch/powerpc/kernel/swsusp.c index aa17b76..641f9ad 100644 --- a/arch/powerpc/kernel/swsusp.c +++ b/arch/powerpc/kernel/swsusp.c @@ -33,6 +33,6 @@ void save_processor_state(void) void restore_processor_state(void) { #ifdef CONFIG_PPC32 - switch_mmu_context(NULL, current->active_mm); + switch_mmu_context(current->active_mm, current->active_mm); #endif } |