Commit 128b46cd authored by Patrick Mochel's avatar Patrick Mochel

[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.
parent a803561d
...@@ -76,11 +76,13 @@ ENTRY(swsusp_arch_suspend) ...@@ -76,11 +76,13 @@ ENTRY(swsusp_arch_suspend)
movl saved_context_edx, %edx movl saved_context_edx, %edx
movl saved_context_esi, %esi movl saved_context_esi, %esi
movl saved_context_edi, %edi movl saved_context_edi, %edi
call restore_processor_state
pushl saved_context_eflags ; popfl pushl saved_context_eflags ; popfl
call swsusp_resume call swsusp_resume
.L1449: .L1449:
popl %ebx popl %ebx
pushl %eax
call restore_processor_state
popl %eax
ret ret
.section .data.nosave .section .data.nosave
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment