x86 ACPI: normalize segment descriptor register on resume
authorH. Peter Anvin <hpa@zytor.com>
Tue, 24 Jun 2008 21:03:48 +0000 (23:03 +0200)
committerIngo Molnar <mingo@elte.hu>
Sat, 5 Jul 2008 06:25:40 +0000 (08:25 +0200)
commit4b4f7280d7fd1feeff134c2cf2db32fd583b6c29
treef10e83d5f2708cc0045a177cc4cdd68a0ff11762
parentb8a0b6ccf2ba2519ace65d782b41ee91bf3c3778
x86 ACPI: normalize segment descriptor register on resume

Some Dell laptops enter resume with apparent garbage in the segment
descriptor registers (almost certainly the result of a botched
transition from protected to real mode.)  The only way to clean that
up is to enter protected mode ourselves and clean out the descriptor
registers.

This fixes resume on Dell XPS M1210 and Dell D620.

Reference: http://bugzilla.kernel.org/show_bug.cgi?id=10927

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Pavel Machek <pavel@ucw.cz>
Cc: pm list <linux-pm@lists.linux-foundation.org>
Cc: Len Brown <lenb@kernel.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Tested-by: Kirill A. Shutemov <kirill@shutemov.name>
Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
arch/x86/kernel/acpi/realmode/wakeup.S
arch/x86/kernel/acpi/realmode/wakeup.h
arch/x86/kernel/acpi/sleep.c
drivers/acpi/sleep/main.c