]> git.ipfire.org Git - thirdparty/ntp.git/commitdiff
Fixes from Dave Mills
authorHarlan Stenn <stenn@ntp.org>
Mon, 27 Jun 2005 07:23:38 +0000 (03:23 -0400)
committerHarlan Stenn <stenn@ntp.org>
Mon, 27 Jun 2005 07:23:38 +0000 (03:23 -0400)
bk: 42bfa97azc6c76Ee02WqsMIOJhkIDQ

ntpd/ntp_loopfilter.c
ntpd/ntp_proto.c

index 222679f619ba0acbd5078b7cf97e3b30387f7ed6..e3bfc0ad4c08dae021ebb0da999efdfa302cac50 100644 (file)
@@ -454,8 +454,7 @@ local_clock(
                         */
                        if (ULOGTOD(sys_poll) > allan_xpt / 2) {
                                dtemp = CLOCK_FLL - sys_poll;
-                               flladj = (fp_offset - last_base -
-                                   clock_offset) /
+                               flladj = (fp_offset - clock_offset) /
                                    (max(mu, allan_xpt) * dtemp);
                        }
 
@@ -465,7 +464,7 @@ local_clock(
                         * interval and poll interval. This allows
                         * oversampling, but not undersampling.
                         */ 
-                       etemp = min(mu, (u_long)ULOGTOD(sys_poll));
+                       etemp = max(mu, (u_long)ULOGTOD(sys_poll));
                        dtemp = 4 * CLOCK_PLL * ULOGTOD(sys_poll);
                        plladj = fp_offset * etemp / (dtemp * dtemp);
                        break;
index 2273d131539e81974e8a75f36d4f8479c94c1ee9..93823324546b0a99e223f61e5ebe9137dbf2567b 100644 (file)
@@ -1598,7 +1598,7 @@ clock_filter(
         */
        for (i = 1; i < NTP_SHIFT; i++) {
                for (j = 0; j < i; j++) {
-                       if (dst[j] > dst[i]) {
+                       if (dst[j] > dst[i] + LOGTOD(sys_precision)) {
                                k = ord[j];
                                ord[j] = ord[i];
                                ord[i] = k;