summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys/kern/kern_ntptime.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/sys/kern/kern_ntptime.c b/sys/kern/kern_ntptime.c
index 12bfbd40ae80..2dea5079d9b0 100644
--- a/sys/kern/kern_ntptime.c
+++ b/sys/kern/kern_ntptime.c
@@ -287,7 +287,7 @@ ntp_adjtime(struct proc *p, struct ntp_adjtime_args *uap)
return (error);
s = splclock();
if (modes & MOD_FREQUENCY) {
- freq = (ntv.freq * 1000LL) << 16;
+ freq = (ntv.freq * 1000LL) >> 16;
if (freq > MAXFREQ)
L_LINT(time_freq, MAXFREQ);
else if (freq < -MAXFREQ)
@@ -378,8 +378,10 @@ ntp_adjtime(struct proc *p, struct ntp_adjtime_args *uap)
time_status & STA_PPSJITTER) ||
(time_status & STA_PPSFREQ &&
time_status & (STA_PPSWANDER | STA_PPSERROR)))
- return (TIME_ERROR);
- return (time_state);
+ p->p_retval[0] = TIME_ERROR;
+ else
+ p->p_retval[0] = time_state;
+ return (error);
}
/*