From ba49f57cb623ae1776b1e6b0276a0de887474399 Mon Sep 17 00:00:00 2001 From: Richard Fuchs Date: Fri, 9 Jul 2021 09:38:29 -0400 Subject: [PATCH] TT#14008 fix 64-bit division on 32-bit archs closes #1304 Change-Id: Id72a67c01c9a503b56eb4f99db23a4550a421728 --- kernel-module/xt_RTPENGINE.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/kernel-module/xt_RTPENGINE.c b/kernel-module/xt_RTPENGINE.c index a89ce57a1..cb8b1d941 100644 --- a/kernel-module/xt_RTPENGINE.c +++ b/kernel-module/xt_RTPENGINE.c @@ -33,6 +33,7 @@ #include #include #include +#include #ifndef __RE_EXTERNAL #include #else @@ -4302,7 +4303,7 @@ static void rtp_stats(struct rtpengine_target *g, struct rtp_parsed *rtp, s64 ar // jitter // RFC 3550 A.8 clockrate = g->target.clock_rates[pt_idx]; - transit = (((arrival_time / 1000) * clockrate) / 1000) - ts; + transit = ((uint32_t) (div64_s64(arrival_time, 1000) * clockrate) / 1000) - ts; d = 0; if (s->transit) d = transit - s->transit; @@ -4546,7 +4547,7 @@ no_intercept: g->stats.delay_avg = g->stats.delay_avg * (atomic64_read(&g->stats.packets)-1); g->stats.delay_avg = g->stats.delay_avg + delay; - g->stats.delay_avg = g->stats.delay_avg / atomic64_read(&g->stats.packets); + g->stats.delay_avg = div64_u64(g->stats.delay_avg, atomic64_read(&g->stats.packets)); } #endif }