diff options
Diffstat (limited to 'arch/ppc64/kernel/time.c')
-rw-r--r-- | arch/ppc64/kernel/time.c | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/arch/ppc64/kernel/time.c b/arch/ppc64/kernel/time.c index 91ef95ccda4f..9939c206afa4 100644 --- a/arch/ppc64/kernel/time.c +++ b/arch/ppc64/kernel/time.c | |||
@@ -128,7 +128,7 @@ static __inline__ void timer_check_rtc(void) | |||
128 | * We should have an rtc call that only sets the minutes and | 128 | * We should have an rtc call that only sets the minutes and |
129 | * seconds like on Intel to avoid problems with non UTC clocks. | 129 | * seconds like on Intel to avoid problems with non UTC clocks. |
130 | */ | 130 | */ |
131 | if ( (time_status & STA_UNSYNC) == 0 && | 131 | if (ntp_synced() && |
132 | xtime.tv_sec - last_rtc_update >= 659 && | 132 | xtime.tv_sec - last_rtc_update >= 659 && |
133 | abs((xtime.tv_nsec/1000) - (1000000-1000000/HZ)) < 500000/HZ && | 133 | abs((xtime.tv_nsec/1000) - (1000000-1000000/HZ)) < 500000/HZ && |
134 | jiffies - wall_jiffies == 1) { | 134 | jiffies - wall_jiffies == 1) { |
@@ -435,10 +435,7 @@ int do_settimeofday(struct timespec *tv) | |||
435 | */ | 435 | */ |
436 | last_rtc_update = new_sec - 658; | 436 | last_rtc_update = new_sec - 658; |
437 | 437 | ||
438 | time_adjust = 0; /* stop active adjtime() */ | 438 | ntp_clear(); |
439 | time_status |= STA_UNSYNC; | ||
440 | time_maxerror = NTP_PHASE_LIMIT; | ||
441 | time_esterror = NTP_PHASE_LIMIT; | ||
442 | 439 | ||
443 | delta_xsec = mulhdu( (tb_last_stamp-do_gtod.varp->tb_orig_stamp), | 440 | delta_xsec = mulhdu( (tb_last_stamp-do_gtod.varp->tb_orig_stamp), |
444 | do_gtod.varp->tb_to_xs ); | 441 | do_gtod.varp->tb_to_xs ); |