]> git.ipfire.org Git - thirdparty/chrony.git/commitdiff
Fix current_total_tick calculation
authorMiroslav Lichvar <mlichvar@redhat.com>
Wed, 15 Jun 2011 10:11:32 +0000 (12:11 +0200)
committerMiroslav Lichvar <mlichvar@redhat.com>
Wed, 15 Jun 2011 13:35:15 +0000 (15:35 +0200)
sys_linux.c

index 98c18ebf9d1eeb7679c38f8f33f6e9c0989cc8c8..c26023ec1bf9bace113bd45411ad9f90084f39a2 100644 (file)
@@ -649,29 +649,11 @@ set_frequency(double freq_ppm)
   double scaled_freq; /* what adjtimex & the kernel use */
   double old_total_tick;
   int required_delta_tick;
-  int neg; /* True if estimate is that local clock runs slow,
-              i.e. positive frequency correction required */
-
-
-  if (freq_ppm < 0.0) {
-    neg = 1;
-    freq_ppm = -freq_ppm;
-  } else {
-    neg = 0;
-  }
 
   required_delta_tick = our_round(freq_ppm / dhz);
-  required_freq = freq_ppm - dhz * (double) required_delta_tick;
-
-  if (neg) {
-    /* Uncompensated local clock runs slow */
-    required_tick = nominal_tick + required_delta_tick;
-    scaled_freq = freq_scale * required_freq;
-  } else {
-    /* Uncompensated local clock runs fast */
-    required_tick = nominal_tick - required_delta_tick;
-    scaled_freq = -freq_scale * required_freq;
-  }
+  required_freq = -(freq_ppm - dhz * required_delta_tick);
+  required_tick = nominal_tick - required_delta_tick;
+  scaled_freq = freq_scale * required_freq;
 
   min_allowed_tick = nominal_tick - max_tick_bias;
   max_allowed_tick = nominal_tick + max_tick_bias;