lkml.org 
[lkml]   [2002]   [Dec]   [9]   [last100]   RSS Feed
Views: [more markup]   [less markup]   [headers]   [forward]  
 
Messages in this thread
/
From"Ulrich Windl" <>
DateMon, 09 Dec 2002 09:07:35 +0100
SubjectRe: adjtimex/ppskit
On 7 Dec 2002 at 15:14, Kurt Roeckx wrote:

> I have this problem with the ntp/adjtimex.  Ntpd sets the freq
> field to a value outside the valid range.  According to Dave
> Mills, the kernel is supposed to clamp the frequency.  I see that
> in the PPSkit this is done properly ...
> 
> Would it be possible to integrate the PPSkit in the kernel soon?
> 
> If not, could you atleast get parts of it in the kernel, so it
> works correctly with ntpd?

I see: The code used in v2.4.10 of the kernel reads like this:

            if (txc->modes & ADJ_FREQUENCY) {   /* p. 22 */
                if (txc->freq > MAXFREQ || txc->freq < -MAXFREQ) {
                    result = -EINVAL;
                    goto leave;
                }
                time_freq = txc->freq - pps_freq;
            }
The PPSkit code reads like this:

                if (txc->modes & MOD_FREQUENCY) {       /* p. 22 */
                        long freq;              /* frequency ns/s) */
                        freq = txc->freq / SCALE_PPM;
                        if (freq > MAXFREQ) {
                                result = -EINVAL;
                                freq = MAXFREQ;
                        } else if (freq < -MAXFREQ) {
                                result = -EINVAL;
                                freq = -MAXFREQ;
                        }
                        L_LINT(time_freq, freq);
#ifdef CONFIG_NTP_PPS
                        pps.freq = time_freq;
#endif
(So just limit the argument in addition to returning -EINVAL; the other 
differences are because of the modified clock model and nanoseconds)
Returning "-EINVAL" is a subject to discussion, so it could be left out.
I don't have the time to make a proper patch at the moment, but I think 
everyone could fix it until a proper patch is available.

Regards,
Ulrich


> 
> 
> Kurt
> 


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 11:31    [W:0.343 / U:0.080 seconds]
©2003-2008 Jasper Spaans