2024-04-28 17:32:27

by Jules Irenge

[permalink] [raw]
Subject: [PATCH 2/3] x86/tsc: Use div64_ul instead of do_div()

do_div() truncates a u64 divisor to 32 bit.
This can lead to non-zero being truncated to zero for division.

Fix coccinelle warning
WARNING: do_div() does a 64-by-32 division, please consider using div64_ul instead

Signed-off-by: Jules Irenge <[email protected]>
---
arch/x86/kernel/tsc.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/x86/kernel/tsc.c b/arch/x86/kernel/tsc.c
index 2da37f33dd17..2ed154a2642c 100644
--- a/arch/x86/kernel/tsc.c
+++ b/arch/x86/kernel/tsc.c
@@ -823,7 +823,7 @@ static unsigned long pit_hpet_ptimer_calibrate_cpu(void)

/* Check the reference deviation */
delta = ((u64) tsc_pit_min) * 100;
- do_div(delta, tsc_ref_min);
+ div64_ul(delta, tsc_ref_min);

/*
* If both calibration results are inside a 10% window
--
2.43.2