From: Kalle Valo > Sent: 10 February 2022 12:16 > > Qing Wang <wangqing@xxxxxxxx> writes: > > > From: Wang Qing <wangqing@xxxxxxxx> > > > > do_div() does a 64-by-32 division. > > When the divisor is u64, do_div() truncates it to 32 bits, this means it > > can test non-zero and be truncated to zero for division. > > > > fix do_div.cocci warning: > > do_div() does a 64-by-32 division, please consider using div64_u64 instead. > > > > Signed-off-by: Wang Qing <wangqing@xxxxxxxx> > > --- > > drivers/net/wireless/ath/wil6210/debugfs.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/drivers/net/wireless/ath/wil6210/debugfs.c b/drivers/net/wireless/ath/wil6210/debugfs.c > > index 4c944e5..2cee9dd > > --- a/drivers/net/wireless/ath/wil6210/debugfs.c > > +++ b/drivers/net/wireless/ath/wil6210/debugfs.c > > @@ -1766,7 +1766,7 @@ __acquires(&p->tid_rx_lock) __releases(&p->tid_rx_lock) > > seq_puts(s, "\n"); > > if (!num_packets) > > continue; > > - do_div(tx_latency_avg, num_packets); > > + div64_u64(tx_latency_avg, num_packets); > > As you have been pointed out in your other patches, do_div() and > div64_u64() work differently. And how long does it take for num_packets to exceed 2^32. David - Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK Registration No: 1397386 (Wales)