mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-29 23:53:32 +00:00
[PATCH] Detect clock skew during suspend
Detect the situations in which the time after a resume from disk would be earlier than the time before the suspend and prevent them from happening on x86_64. Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl> Signed-off-by: Andi Kleen <ak@suse.de>
This commit is contained in:
parent
a549b86dd0
commit
34464a5b89
1 changed files with 9 additions and 1 deletions
|
@ -1039,8 +1039,16 @@ static int timer_resume(struct sys_device *dev)
|
|||
unsigned long flags;
|
||||
unsigned long sec;
|
||||
unsigned long ctime = get_cmos_time();
|
||||
unsigned long sleep_length = (ctime - sleep_start) * HZ;
|
||||
long sleep_length = (ctime - sleep_start) * HZ;
|
||||
|
||||
if (sleep_length < 0) {
|
||||
printk(KERN_WARNING "Time skew detected in timer resume!\n");
|
||||
/* The time after the resume must not be earlier than the time
|
||||
* before the suspend or some nasty things will happen
|
||||
*/
|
||||
sleep_length = 0;
|
||||
ctime = sleep_start;
|
||||
}
|
||||
if (vxtime.hpet_address)
|
||||
hpet_reenable();
|
||||
else
|
||||
|
|
Loading…
Reference in a new issue