diff --git a/kernel/time/timekeeping.c b/kernel/time/timekeeping.c index c4230f44e1ea..c1863f2fd106 100644 --- a/kernel/time/timekeeping.c +++ b/kernel/time/timekeeping.c @@ -3025,10 +3025,12 @@ static int __do_adjtimex(struct tk_data *tkd, struct __kernel_timex *txc, return ret; add_device_randomness(txc, sizeof(*txc)); - if (!aux_clock) + if (!aux_clock) { ktime_get_real_ts64(&ts); - else - tk_get_aux_ts64(tkd->timekeeper.id, &ts); + } else { + if (!tk_get_aux_ts64(tkd->timekeeper.id, &ts)) + return -ENODEV; + } add_device_randomness(&ts, sizeof(ts));