ACPI: Handle BIOS that resumes from S3 to suspend routine rather than resume vector
authorWilliam Morrrow <william.morrow@amd.com>
Tue, 15 Aug 2006 05:37:31 +0000 (22:37 -0700)
committerLen Brown <len.brown@intel.com>
Wed, 16 Aug 2006 21:59:05 +0000 (17:59 -0400)
commit4e6e6504a4572dee3afcb0925ce92ad559e1e0db
tree9c1d2798c5db07c4df7cddc5db8f12c4c8037ca3
parent9f737633e6ee54fc174282d49b2559bd2208391d
ACPI: Handle BIOS that resumes from S3 to suspend routine rather than resume vector

A BIOS has been found that resumes from S3 to the routine that invoked suspend,
ignoring the resume vector.  This appears to the OS as a failed S3 attempt.

This same system suspend/resume's properly with Windows.

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 the deviant BIOS.

Signed-off-by: William Morrow <william.morrow@amd.com>
Signed-off-by: Jordan Crouse <jordan.crouse@amd.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Len Brown <len.brown@intel.com>
arch/i386/kernel/acpi/wakeup.S