J. Bruce Fields wrote: > On APM resume this morning on my Thinkpad X31, I got a "spin_lock is > already locked" error; see below. This doesn't happen on every resume, > though it's happened before. The kernel is 2.6.11 plus a bunch of > (hopefully unrelated...) NFS patches. > > Any ideas? > Yesterday's night mare, todays bug :( Looks like we need the irq on the read clock also. This is true both before and after the prior cmos_time changes. Andrew, The attached replaces the patch I sent yesterday. For those wanting to fix the kernel with out those patches, all that is needed its the chunk that applies, i.e. the _irq on the get_cmos_time() spinlocks. And more... That this occures implies we are attempting to update the cmos clock on resume seems wrong. One would presume that the time is wrong at this time and we are about to save that wrong time. Possibly the APM code should change time_status to STA_UNSYNC on the way into the sleep (or what ever it is called). Who should we ping with this? ~ > Mar 12 07:07:31 puzzle kernel: PCI: Setting latency timer of device 0000:00:1f.5 to 64 > Mar 12 07:07:31 puzzle kernel: arch/i386/kernel/time.c:179: spin_lock(arch/i386/kernel/time.c:c0603c28) already locked by arch/i386/kernel/time.c/309 > Mar 12 07:07:31 puzzle kernel: arch/i386/kernel/time.c:316: spin_unlock(arch/i386/kernel/time.c:c0603c28) not locked ~ -- George Anzinger george@mvista.com High-res-timers: http://sourceforge.net/projects/high-res-timers/