|
@@ -194,8 +194,7 @@ static enum hrtimer_restart ntp_leap_second(struct hrtimer *timer)
|
|
|
case TIME_OK:
|
|
|
break;
|
|
|
case TIME_INS:
|
|
|
- xtime.tv_sec--;
|
|
|
- wall_to_monotonic.tv_sec++;
|
|
|
+ timekeeping_leap_insert(-1);
|
|
|
time_state = TIME_OOP;
|
|
|
printk(KERN_NOTICE
|
|
|
"Clock: inserting leap second 23:59:60 UTC\n");
|
|
@@ -203,9 +202,8 @@ static enum hrtimer_restart ntp_leap_second(struct hrtimer *timer)
|
|
|
res = HRTIMER_RESTART;
|
|
|
break;
|
|
|
case TIME_DEL:
|
|
|
- xtime.tv_sec++;
|
|
|
+ timekeeping_leap_insert(1);
|
|
|
time_tai--;
|
|
|
- wall_to_monotonic.tv_sec--;
|
|
|
time_state = TIME_WAIT;
|
|
|
printk(KERN_NOTICE
|
|
|
"Clock: deleting leap second 23:59:59 UTC\n");
|
|
@@ -219,7 +217,6 @@ static enum hrtimer_restart ntp_leap_second(struct hrtimer *timer)
|
|
|
time_state = TIME_OK;
|
|
|
break;
|
|
|
}
|
|
|
- update_vsyscall(&xtime, clock);
|
|
|
|
|
|
write_sequnlock(&xtime_lock);
|
|
|
|