lkml.org 
[lkml]   [2005]   [Mar]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: 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/

\
 
 \ /
  Last update: 2005-03-22 14:11    [from the cache]
©2003-2011 Jasper Spaans