On Sat, 12 Mar 2005, George Anzinger wrote:
I agree. Still in all that follows, no one has addressed the apparent race described above. The reason the system reported the errors that started this thread is that the APM restore code was trying to read the cmos clock (I assume to set the xtime clock) WHILE the timer interrupt code what trying to set the cmos clock from xtime.
Doesn't my reply explain the actual problem? The code path being;
Sorry, I just didn't look at the apm code. My bad.
-g
arch/i386/kernel/apm.c suspend() write_seqlock_irq(xtime_lock) ... write_sequnlock_irq(xtime_lock) <interrupts enabled> device_power_up() timer_resume() get_cmos_time();
S
So this covers the problem that the reporter reported, so yes it's setting xtime but we shouldn't be taking interrupts in the first place, so i posted the patch to cover that. APM was clearly violating PM resume procedures.
Thanks, Zwane
-- George Anzinger george@mvista.com High-res-timers: http://sourceforge.net/projects/high-res-timers/
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/