From: Li Shaohua Unconditionally enabling interrupts is upsetting the ACPI time resume code. Signed-off-by: Li Shaohua Signed-off-by: Andrew Morton --- 25-akpm/arch/i386/kernel/time.c | 5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-) diff -puN arch/i386/kernel/time.c~preserve-irqs-in-time_resume arch/i386/kernel/time.c --- 25/arch/i386/kernel/time.c~preserve-irqs-in-time_resume Wed Sep 22 16:35:07 2004 +++ 25-akpm/arch/i386/kernel/time.c Wed Sep 22 16:35:07 2004 @@ -333,11 +333,12 @@ static int time_suspend(struct sys_devic static int time_resume(struct sys_device *dev) { + unsigned long flags; unsigned long sec = get_cmos_time() + clock_cmos_diff; - write_seqlock_irq(&xtime_lock); + write_seqlock_irqsave(&xtime_lock, flags); xtime.tv_sec = sec; xtime.tv_nsec = 0; - write_sequnlock_irq(&xtime_lock); + write_sequnlock_irqrestore(&xtime_lock, flags); return 0; } _