serial: sh-sci: Change checking for error rate of HSCIF

This changes negative values of error rate to be checked, because these
values are valid as error rate. And this changes in the process of adopting
a value close to 0.

Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Nobuhiro Iwamatsu 2014-11-20 07:58:27 +09:00 коммит произвёл Greg Kroah-Hartman
Родитель 681b05f58f
Коммит f53297fb99
1 изменённых файлов: 1 добавлений и 4 удалений

Просмотреть файл

@ -1812,9 +1812,6 @@ static void sci_baud_calc_hscif(unsigned int bps, unsigned long freq,
err = DIV_ROUND_CLOSEST(freq, ((br + 1) * bps * sr * err = DIV_ROUND_CLOSEST(freq, ((br + 1) * bps * sr *
(1 << (2 * c + 1)) / 1000)) - (1 << (2 * c + 1)) / 1000)) -
1000; 1000;
if (err < 0)
continue;
/* Calc recv margin /* Calc recv margin
* M: Receive margin (%) * M: Receive margin (%)
* N: Ratio of bit rate to clock (N = sampling rate) * N: Ratio of bit rate to clock (N = sampling rate)
@ -1829,7 +1826,7 @@ static void sci_baud_calc_hscif(unsigned int bps, unsigned long freq,
*/ */
recv_margin = abs((500 - recv_margin = abs((500 -
DIV_ROUND_CLOSEST(1000, sr << 1)) / 10); DIV_ROUND_CLOSEST(1000, sr << 1)) / 10);
if (min_err > err) { if (abs(min_err) > abs(err)) {
min_err = err; min_err = err;
recv_max_margin = recv_margin; recv_max_margin = recv_margin;
} else if ((min_err == err) && } else if ((min_err == err) &&