浏览代码

timekeeping: access rtc outside of xtime lock

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>
Thomas Gleixner 17 年之前
父节点
当前提交
3be9095063
共有 1 个文件被更改,包括 2 次插入1 次删除
  1. 2 1
      kernel/time/timekeeping.c

+ 2 - 1
kernel/time/timekeeping.c

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