serial: sh-sci: Fix range check of bit-rate for HSCIF
If bit-rate calculation result of HSCIF is expect 255 from 0, driver does not calculate error bit. However, we need to round the value to calculate error bit in the case of negative value. This rounds the value of bit-rate using clamp(), and bit-rate is the case of negative value, it enables the calculation of the error bit. Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
b7d66397f4
commit
bcb9973a60
|
@ -1791,8 +1791,7 @@ static void sci_baud_calc_hscif(unsigned int bps, unsigned long freq,
|
|||
/* integerized formulas from HSCIF documentation */
|
||||
br = DIV_ROUND_CLOSEST(freq, (sr *
|
||||
(1 << (2 * c + 1)) * bps)) - 1;
|
||||
if (br < 0 || br > 255)
|
||||
continue;
|
||||
br = clamp(br, 0, 255);
|
||||
err = DIV_ROUND_CLOSEST(freq, ((br + 1) * bps * sr *
|
||||
(1 << (2 * c + 1)) / 1000)) -
|
||||
1000;
|
||||
|
|
Loading…
Reference in New Issue