Re: [PATCH v3 2/2] serial: 8250: Add proper clock handling for OxSemi PCIe devices

From: Maciej W. Rozycki
Date: Thu Feb 17 2022 - 07:06:06 EST


On Thu, 17 Feb 2022, Dan Carpenter wrote:

> url: https://github.com/0day-ci/linux/commits/Maciej-W-Rozycki/serial-8250-Fixes-for-Oxford-Semiconductor-950-UARTs/20220212-164255
> base: https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty.git tty-testing
> config: x86_64-randconfig-m001 (https://download.01.org/0day-ci/archive/20220213/202202130027.ZKBCgtm5-lkp@xxxxxxxxx/config)
> compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
>
> If you fix the issue, kindly add following tag as appropriate
> Reported-by: kernel test robot <lkp@xxxxxxxxx>
> Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
>
> New smatch warnings:
> drivers/tty/serial/8250/8250_pci.c:1171 pci_oxsemi_tornado_get_divisor() error: uninitialized symbol 'tcr'.
> drivers/tty/serial/8250/8250_pci.c:1172 pci_oxsemi_tornado_get_divisor() error: uninitialized symbol 'quot'.
> drivers/tty/serial/8250/8250_pci.c:1180 pci_oxsemi_tornado_get_divisor() error: uninitialized symbol 'cpr'.

These variables do get assigned to in the first iteration of the loop,
because the deviation calculated (`srem') is normalised to the range of
[0,spre/2] and that divided by the original divisor (`spre') always works
out at within [0,0.5], so `squot' will be within [0,32768]. I guess the
static analyser is too dumb to figure it out, so I'll see how to paper it
over unless someone has a better proposal.

Greg: shall I send an update patch or a replacement v4 of the series?

Maciej