timekeeping: access rtc outside of xtime lock
authorThomas Gleixner <tglx@linutronix.de>
Sun, 16 Sep 2007 13:36:43 +0000 (15:36 +0200)
committerThomas Gleixner <tglx@chaos.(none)>
Sun, 16 Sep 2007 13:36:43 +0000 (15:36 +0200)
Lockdep complains about the access of rtc in timekeeping_suspend
inside the interrupt disabled region of the write locked xtime lock.
Move the access outside.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: John Stultz <johnstul@us.ibm.com>
kernel/time/timekeeping.c

index acc417b5a9b7786de60d124fc66b2dc5eb1c2111..f682091fa8903fa94c2f8c93516925496b3a8db9 100644 (file)
@@ -325,9 +325,10 @@ static int timekeeping_suspend(struct sys_device *dev, pm_message_t state)
 {
        unsigned long flags;
 
+       timekeeping_suspend_time = read_persistent_clock();
+
        write_seqlock_irqsave(&xtime_lock, flags);
        timekeeping_suspended = 1;
-       timekeeping_suspend_time = read_persistent_clock();
        write_sequnlock_irqrestore(&xtime_lock, flags);
 
        clockevents_notify(CLOCK_EVT_NOTIFY_SUSPEND, NULL);