Blob Blame History Raw
diff -up ntp-4.2.4p4/ntpd/cmd_args.c.kernel ntp-4.2.4p4/ntpd/cmd_args.c
--- ntp-4.2.4p4/ntpd/cmd_args.c.kernel	2007-08-18 22:24:43.000000000 +0200
+++ ntp-4.2.4p4/ntpd/cmd_args.c	2008-02-27 16:57:56.000000000 +0100
@@ -179,8 +179,10 @@ getCmdOpts(
 		} while (--ct > 0);
 	}
 
-	if (HAVE_OPT( SLEW ))
+	if (HAVE_OPT( SLEW )) {
 		clock_max = 600;
+		kern_enable = 0;
+	}
 
 	if (HAVE_OPT( UPDATEINTERVAL )) {
 		long val = OPT_VALUE_UPDATEINTERVAL;
diff -up ntp-4.2.4p4/ntpd/ntp_loopfilter.c.kernel ntp-4.2.4p4/ntpd/ntp_loopfilter.c
--- ntp-4.2.4p4/ntpd/ntp_loopfilter.c.kernel	2007-02-24 12:02:05.000000000 +0100
+++ ntp-4.2.4p4/ntpd/ntp_loopfilter.c	2008-02-27 16:57:56.000000000 +0100
@@ -337,8 +337,6 @@ local_clock(
 	 */
 	clock_frequency = flladj = plladj = 0;
 	mu = peer->epoch - sys_clocktime;
-	if (clock_max == 0 || clock_max > 0.5)
-		kern_enable = 0;
 	rval = 1;
 	if (fabs(fp_offset) > clock_max && clock_max > 0) {
 		switch (state) {
@@ -893,9 +891,9 @@ loop_config(
 		pll_control = 1;
 		memset(&ntv, 0, sizeof(ntv));
 #ifdef STA_NANO
-		ntv.modes = MOD_BITS | MOD_NANO;
+		ntv.modes = MOD_BITS | MOD_FREQUENCY | MOD_NANO;
 #else /* STA_NANO */
-		ntv.modes = MOD_BITS;
+		ntv.modes = MOD_BITS | MOD_FREQUENCY;
 #endif /* STA_NANO */
 		ntv.maxerror = MAXDISPERSE;
 		ntv.esterror = MAXDISPERSE;
@@ -1001,6 +999,8 @@ loop_config(
 	 */
 	case LOOP_MAX:			/* step threshold */
 		clock_max = freq;
+		if (clock_max == 0 || clock_max > 0.5)
+			kern_enable = 0;
 		break;
 
 	case LOOP_PANIC:		/* panic threshold */