summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPatrick Mochel <mochel@osdl.org>2003-09-08 01:27:36 -0700
committerPatrick Mochel <mochel@osdl.org>2003-09-08 01:27:36 -0700
commit128b46cd4bc9ebfa5117800e7c20870343e465ad (patch)
tree30734c6ba979db02b2901a8b77aedd96d0c4854b
parenta803561d87ce634e2243d824724560d2e0619bee (diff)
[swsusp] Make sure we call restore_processor_state() when suspending.
- Added unconditionally to exit path of swsusp_arch_suspend(). This is done to call kernel_fpu_end() to reset the preempt count on suspend. - Note that we must preserve %eax across that call.
-rw-r--r--arch/i386/power/swsusp.S6
1 files changed, 4 insertions, 2 deletions
diff --git a/arch/i386/power/swsusp.S b/arch/i386/power/swsusp.S
index 239483113cae..a2af7992aab9 100644
--- a/arch/i386/power/swsusp.S
+++ b/arch/i386/power/swsusp.S
@@ -76,11 +76,13 @@ ENTRY(swsusp_arch_suspend)
movl saved_context_edx, %edx
movl saved_context_esi, %esi
movl saved_context_edi, %edi
- call restore_processor_state
pushl saved_context_eflags ; popfl
call swsusp_resume
.L1449:
- popl %ebx
+ popl %ebx
+ pushl %eax
+ call restore_processor_state
+ popl %eax
ret
.section .data.nosave