Messages in this thread | | | Date | Sat, 12 Mar 2005 12:58:36 -0700 (MST) | From | Zwane Mwaikambo <> | Subject | Re: spin_lock error in arch/i386/kernel/time.c on APM resume |
| |
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;
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();
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
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |