diff options
author | Johannes Berg <johannes.berg@intel.com> | 2019-09-10 17:03:52 +0200 |
---|---|---|
committer | Richard Weinberger <richard@nod.at> | 2019-09-15 21:37:13 +0200 |
commit | eec94b8acb03aaaa6fb050883624381f5c07a3f0 (patch) | |
tree | 90e4a11640b16618d8180fc0af500be66dbbefc3 /arch/um/kernel/time.c | |
parent | um: Enable CONFIG_CONSTRUCTORS (diff) | |
download | linux-eec94b8acb03aaaa6fb050883624381f5c07a3f0.tar.xz linux-eec94b8acb03aaaa6fb050883624381f5c07a3f0.zip |
um: time-travel: Fix periodic timers
Periodic timers are broken, because the also only fire once.
As it happens, Linux doesn't care because it only sets the
timer to periodic very briefly during boot, and then switches
it only between one-shot and off later.
Nevertheless, fix the logic (we shouldn't even be looking at
time_travel_timer_expiry unless the timer is enabled) and
change the code to fire the timer periodically in periodic
mode, in case it ever gets used in the future.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Richard Weinberger <richard@nod.at>
Diffstat (limited to 'arch/um/kernel/time.c')
-rw-r--r-- | arch/um/kernel/time.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/um/kernel/time.c b/arch/um/kernel/time.c index 234757233355..4ecabf7e54c9 100644 --- a/arch/um/kernel/time.c +++ b/arch/um/kernel/time.c @@ -65,6 +65,7 @@ static int itimer_set_periodic(struct clock_event_device *evt) if (time_travel_mode != TT_MODE_OFF) { time_travel_set_timer_mode(TT_TMR_PERIODIC); time_travel_set_timer_expiry(time_travel_time + interval); + time_travel_set_timer_interval(interval); } if (time_travel_mode != TT_MODE_INFCPU) |