From: Harlan Stenn Date: Mon, 27 Jun 2005 07:23:38 +0000 (-0400) Subject: Fixes from Dave Mills X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c55bb07ecbb3feff3cc5c7bf847b1ca2dfd9364c;p=thirdparty%2Fntp.git Fixes from Dave Mills bk: 42bfa97azc6c76Ee02WqsMIOJhkIDQ --- diff --git a/ntpd/ntp_loopfilter.c b/ntpd/ntp_loopfilter.c index 222679f619..e3bfc0ad4c 100644 --- a/ntpd/ntp_loopfilter.c +++ b/ntpd/ntp_loopfilter.c @@ -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; diff --git a/ntpd/ntp_proto.c b/ntpd/ntp_proto.c index 2273d13153..9382332454 100644 --- a/ntpd/ntp_proto.c +++ b/ntpd/ntp_proto.c @@ -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;