> On April 1, 2019 at 1:25 PM Geert Uytterhoeven <[email protected]> 
> wrote:
> 
> 
> There are several issues with the formula used for calculating the
> deviation from the intended rate:
>   1. While min_err and last_stop are signed, srr and baud are unsigned.
>      Hence the signed values are promoted to unsigned, which will lead
>      to a bogus value of deviation if min_err is negative,
>   2. Srr is the register field value, which is one less than the actual
>      sampling rate factor,
>   3. The divisions do not use rounding.
> 
> Fix this by casting unsigned variables to int, adding one to srr, and
> using a single DIV_ROUND_CLOSEST().
> 
> Fixes: 63ba1e00f178a448 ("serial: sh-sci: Support for HSCIF RX sampling point 
> adjustment")
> Signed-off-by: Geert Uytterhoeven <[email protected]>

Reviewed-by: Ulrich Hecht <[email protected]>

CU
Uli

Reply via email to