Applied. This may be the start of unlocking the door to a new class of S3 resume failures. thanks, -Len On Tuesday 15 August 2006 01:37, akpm@xxxxxxxx wrote: > From: William Morrrow <william.morrow@xxxxxxx> > > 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@xxxxxxx> > Signed-off-by: Jordan Crouse <jordan.crouse@xxxxxxx> > Cc: "Yu, Luming" <luming.yu@xxxxxxxxx> > Cc: "Brown, Len" <len.brown@xxxxxxxxx> > Signed-off-by: Andrew Morton <akpm@xxxxxxxx> > --- > > 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 > _ > - > To unsubscribe from this list: send the line "unsubscribe linux-acpi" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html > - To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html