android_kernel_xiaomi_sm8350/arch/i386/kernel
William Morrrow 4e6e6504a4 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>
2006-08-16 17:59:05 -04:00
..
acpi ACPI: Handle BIOS that resumes from S3 to suspend routine rather than resume vector 2006-08-16 17:59:05 -04:00
cpu [CPUFREQ] Propagate acpi_processor_preregister_performance return value. 2006-07-31 18:37:06 -04:00
.gitignore
alternative.c [PATCH] lockdep: x86 smp alternatives workaround 2006-07-03 15:27:04 -07:00
apic.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
apm.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
asm-offsets.c [PATCH] vdso: randomize the i386 vDSO by moving it into a vma 2006-06-27 17:32:38 -07:00
audit.c [PATCH] audit syscall classes 2006-07-01 07:44:10 -04:00
bootflag.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
cpuid.c [PATCH] Fix modular cpuid.ko 2006-07-03 21:25:20 -07:00
crash_dump.c
crash.c [PATCH] i386 kexec: allow the kexec on panic support to compile on voyager 2006-07-14 21:53:51 -07:00
doublefault.c [PATCH] i386: cpu_relax() in crash.c and doublefault.c 2006-06-25 10:00:55 -07:00
early_printk.c
efi_stub.S Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
efi.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
entry.S [PATCH] Fix trivial unwind info bug 2006-07-31 13:28:43 -07:00
head.S Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
hpet.c [PATCH] generic-time: add macro to simplify/hide mask constants 2006-06-26 09:58:21 -07:00
i386_ksyms.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
i387.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
i8237.c
i8253.c [PATCH] time: fix time going backward w/ clock=pit 2006-06-26 09:58:21 -07:00
i8259.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
init_task.c
io_apic.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
ioport.c [PATCH] i386: use thread_info flags for debug regs and IO bitmaps 2006-07-09 18:47:12 -07:00
irq.c [PATCH] lockdep: irqtrace subsystem, i386 support 2006-07-03 15:27:03 -07:00
kprobes.c [PATCH] kprobe-booster: disable in preemptible kernel 2006-07-31 13:28:38 -07:00
ldt.c
machine_kexec.c [PATCH] machine_kexec.c: Fix the description of segment handling 2006-07-31 13:28:38 -07:00
Makefile [PATCH] vDSO hash-style fix 2006-07-31 13:28:43 -07:00
mca.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
microcode.c [PATCH] devfs: Remove the miscdevice devfs_name field as it's no longer needed 2006-06-26 12:25:08 -07:00
module.c
mpparse.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
msr.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial 2006-06-30 15:39:30 -07:00
nmi.c [PATCH] IDE: Touch NMI watchdog during resume from STR 2006-07-31 13:28:39 -07:00
numaq.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
pci-dma.c
process.c [PATCH] i386: switch_to(): misplaced parentheses 2006-07-28 19:22:35 -07:00
ptrace.c [PATCH] i386: use thread_info flags for debug regs and IO bitmaps 2006-07-09 18:47:12 -07:00
quirks.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
reboot_fixups.c
reboot.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
relocate_kernel.S
scx200.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
semaphore.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
setup.c [PATCH] Fix a memory leak in the i386 setup code 2006-07-14 21:53:51 -07:00
sigframe.h
signal.c [PATCH] vdso: randomize the i386 vDSO by moving it into a vma 2006-06-27 17:32:38 -07:00
smp.c [PATCH] x86_64: Standardize i386/x86_64 handling of NMI_VECTOR 2006-06-26 10:48:22 -07:00
smpboot.c [PATCH] synchronize_tsc() fixes 2006-07-31 13:28:38 -07:00
srat.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
stacktrace.c [PATCH] lockdep: stacktrace subsystem, i386 support 2006-07-03 15:27:02 -07:00
summit.c
sys_i386.c
syscall_table.S
sysenter.c [PATCH] small fix for not releasing the mmap semaphore in i386/arch_setup_additional_pages 2006-06-28 12:05:50 -07:00
time_hpet.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
time.c [PATCH] i386/x86-64: Add user_mode checks to profile_pc for oprofile 2006-07-28 19:28:00 -07:00
topology.c [PATCH] node hotplug: register cpu: remove node struct 2006-06-27 17:32:37 -07:00
trampoline.S
traps.c [PATCH] panic_on_oops: remove ssleep() 2006-07-31 13:28:39 -07:00
tsc.c [PATCH] generic-time: add macro to simplify/hide mask constants 2006-06-26 09:58:21 -07:00
vm86.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
vmlinux.lds.S [PATCH] i386: reliable stack trace support (i386) 2006-06-26 10:48:17 -07:00
vsyscall-int80.S
vsyscall-note.S
vsyscall-sigreturn.S
vsyscall-sysenter.S [PATCH] vdso: randomize the i386 vDSO by moving it into a vma 2006-06-27 17:32:38 -07:00
vsyscall.lds.S [PATCH] vDSO hash-style fix 2006-07-31 13:28:43 -07:00
vsyscall.S