diff --git a/src/etnaviv/drm/etnaviv_priv.h b/src/etnaviv/drm/etnaviv_priv.h index 93bd2d90985..054e6cc730e 100644 --- a/src/etnaviv/drm/etnaviv_priv.h +++ b/src/etnaviv/drm/etnaviv_priv.h @@ -208,6 +208,10 @@ static inline void get_abs_timeout(struct drm_etnaviv_timespec *tv, uint64_t ns) clock_gettime(CLOCK_MONOTONIC, &t); tv->tv_sec = t.tv_sec + ns / NSEC_PER_SEC; tv->tv_nsec = t.tv_nsec + ns % NSEC_PER_SEC; + if (tv->tv_nsec >= NSEC_PER_SEC) { + tv->tv_nsec -= NSEC_PER_SEC; + tv->tv_sec++; + } } #if HAVE_VALGRIND