mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 10:11:27 +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> master commit:2d670d258bmaster date: 2026-04-10 14:31:10 +0200
This commit is contained in:
1 parent
6b8be120c8
commit
9c79644d35
1 file changed
+1
-1
+1
-1
@@ -2720,7 +2720,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();
|
||||
|
||||