sys: use maximum timeout for offsets below minimum correction

There is no need to try to correct offsets below the specified minimum
(1 nanosecond), let the clock drift away after crossing zero offset and
avoid unnecessary updates.
This commit is contained in:
Miroslav Lichvar 2014-05-21 17:36:51 +02:00
parent 9cf78b974a
commit f88a712d01

View file

@ -160,7 +160,8 @@ update_slew(void)
is zero or has wrong sign (e.g. due to rounding in the frequency driver or
when base_freq is larger than max_freq), use maximum timeout and try again
on the next update. */
if (offset_register * slew_freq <= 0.0) {
if (fabs(offset_register) < MIN_OFFSET_CORRECTION ||
offset_register * slew_freq <= 0.0) {
duration = MAX_SLEW_TIMEOUT;
} else {
duration = offset_register / slew_freq;