linux-acpi.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [patch 13/14] ACPI: Correctly recover from a failed S3 attempt
@ 2006-08-15  5:37 akpm
  2006-08-16  4:27 ` Len Brown
  2006-08-16 22:00 ` Len Brown
  0 siblings, 2 replies; 5+ messages in thread
From: akpm @ 2006-08-15  5:37 UTC (permalink / raw)
  To: len.brown; +Cc: linux-acpi, akpm, william.morrow, jordan.crouse, luming.yu

From: William Morrrow <william.morrow@amd.com>

This was discovered on a broken BIOS that simply returned from its suspend
procedure, appearing to the OS as a failed S3 attempt.

It is possible to invoke the protected mode register restore routine (which
would normally restore the sysenter registers) when the bios returns from
S3.  This has no effect on a correctly running system and repairs the
damage from broken BIOS.

Signed-off-by: William Morrow <william.morrow@amd.com>
Signed-off-by: Jordan Crouse <jordan.crouse@amd.com>
Cc: "Yu, Luming" <luming.yu@intel.com>
Cc: "Brown, Len" <len.brown@intel.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
---

 arch/i386/kernel/acpi/wakeup.S |    5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff -puN arch/i386/kernel/acpi/wakeup.S~acpi-correctly-recover-from-a-failed-s3-attempt arch/i386/kernel/acpi/wakeup.S
--- a/arch/i386/kernel/acpi/wakeup.S~acpi-correctly-recover-from-a-failed-s3-attempt
+++ a/arch/i386/kernel/acpi/wakeup.S
@@ -292,7 +292,10 @@ ENTRY(do_suspend_lowlevel)
 	pushl	$3
 	call	acpi_enter_sleep_state
 	addl	$4, %esp
-	ret
+
+#	In case of S3 failure, we'll emerge here.  Jump
+# 	to ret_point to recover
+	jmp	ret_point
 	.p2align 4,,7
 ret_point:
 	call	restore_registers
_

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2006-08-16 21:59 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-08-15  5:37 [patch 13/14] ACPI: Correctly recover from a failed S3 attempt akpm
2006-08-16  4:27 ` Len Brown
2006-08-16 17:58   ` William Morrow
2006-08-16 21:55     ` Len Brown
2006-08-16 22:00 ` Len Brown

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).