mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 02:01:24 +01:00
x86/time: do not kill calibration timer on suspend
A killed timer will ignore further set_timer() calls, and hence won't be
re-armed unless it's initialized again. Use stop_timer() instead of
kill_timer() in time_suspend(), so that the set_timer() call in
time_resume() successfully re-arms the timer. Otherwise time calibration
is no longer scheduled (and executed) after resuming from S3 suspend.
Fixes: 6d90db1a2c ("x86: rendezvous-based local time calibration")
Reported-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
Tested-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
This commit is contained in:
1 parent
12e50da43d
commit
2d670d258b
1 file changed
+1
-1
+1
-1
@@ -2728,7 +2728,7 @@ int time_suspend(void)
|
||||
{
|
||||
cmos_utc_offset = -get_wallclock_time();
|
||||
cmos_utc_offset += get_sec();
|
||||
kill_timer(&calibration_timer);
|
||||
stop_timer(&calibration_timer);
|
||||
|
||||
/* Sync platform timer stamps. */
|
||||
platform_time_calibration();
|
||||
|
||||