Sophie

Sophie

distrib > Mandriva > 2007.1 > x86_64 > by-pkgid > 3c54c1e85fa6e26eb8ab9de56a8564b1 > files > 6

ntp-4.2.4-4mdv2007.1.src.rpm

Based on patch from Ian Dowse <iedowse@iedowse.com>, upstream bug #628

--- ntp-4.2.2p1/ntpd/ntp_loopfilter.c.loopfilter	2006-06-06 22:16:41.000000000 +0200
+++ ntp-4.2.2p1/ntpd/ntp_loopfilter.c	2006-08-18 14:51:30.000000000 +0200
@@ -150,6 +150,7 @@
 int	pps_stratum;		/* pps stratum */
 int	allow_panic = FALSE;	/* allow panic correction */
 int	mode_ntpdate = FALSE;	/* exit on first clock set */
+int	kern_suspended = FALSE;	/* offset too large to use kernel */
 
 /*
  * Clock state machine variables
@@ -683,6 +684,7 @@
 			clock_jitter = ntv.jitter / 1e6;
 #endif /* STA_NANO */
 		}
+		kern_suspended = FALSE;
 	} else {
 #endif /* KERNEL_PLL */
  
@@ -694,6 +696,8 @@
 		 */
 		clock_frequency = drift_comp + clock_frequency +
 		    flladj + plladj;
+		if (pll_control && kern_enable)
+			kern_suspended = TRUE;
 #ifdef KERNEL_PLL
 	}
 #endif /* KERNEL_PLL */
@@ -808,7 +812,7 @@
 	 * discipline is enabled, we have no business going further.
 	 */
 	if (!ntp_enable || mode_ntpdate || (pll_control &&
-	    kern_enable && clock_max < 0.5))
+	    kern_enable && clock_max < 0.5 && !kern_suspended))
 		return;
 
 	/*