From: Guido Günther Date: Wed, 22 Jan 2020 10:43:11 +0000 (+0100) Subject: freedreno/drm: Don't miscalculate timeout X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=c5334d2943edc34052269cdb5c1052f6eb65335c;p=mesa.git freedreno/drm: Don't miscalculate timeout The current code overflows (s * 1000000000) for s >= 5 but that is e.g. used in msm_bo_cpu_prep. Signed-off-by: Guido Günther Tested-by: Marge Bot Part-of: --- diff --git a/src/freedreno/drm/msm_priv.h b/src/freedreno/drm/msm_priv.h index 172e9870fe5..37adb13624c 100644 --- a/src/freedreno/drm/msm_priv.h +++ b/src/freedreno/drm/msm_priv.h @@ -108,10 +108,9 @@ msm_dump_submit(struct drm_msm_gem_submit *req) static inline void get_abs_timeout(struct drm_msm_timespec *tv, uint64_t ns) { struct timespec t; - uint32_t s = ns / 1000000000; clock_gettime(CLOCK_MONOTONIC, &t); - tv->tv_sec = t.tv_sec + s; - tv->tv_nsec = t.tv_nsec + ns - (s * 1000000000); + tv->tv_sec = t.tv_sec + ns / 1000000000; + tv->tv_nsec = t.tv_nsec + ns % 1000000000; } /*