From: Geert Uytterhoeven <geert+rene...@glider.be>

commit 6b87784b53592a90d21576be8eff688b56d93cce upstream.

The calculation of the sampling point has min() and max() exchanged.
Fix this by using the clamp() helper instead.

Fixes: 63ba1e00f178a448 ("serial: sh-sci: Support for HSCIF RX sampling point 
adjustment")
Signed-off-by: Geert Uytterhoeven <geert+rene...@glider.be>
Reviewed-by: Ulrich Hecht <uli+rene...@fpond.eu>
Reviewed-by: Wolfram Sang <wsa+rene...@sang-engineering.com>
Acked-by: Dirk Behme <dirk.be...@de.bosch.com>
Cc: stable <sta...@vger.kernel.org>
Reviewed-by: Simon Horman <horms+rene...@verge.net.au>
Signed-off-by: Greg Kroah-Hartman <gre...@linuxfoundation.org>

---
 drivers/tty/serial/sh-sci.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- a/drivers/tty/serial/sh-sci.c
+++ b/drivers/tty/serial/sh-sci.c
@@ -2504,7 +2504,7 @@ done:
                                 * last stop bit; we can increase the error
                                 * margin by shifting the sampling point.
                                 */
-                               int shift = min(-8, max(7, deviation / 2));
+                               int shift = clamp(deviation / 2, -8, 7);
 
                                hssrr |= (shift << HSCIF_SRHP_SHIFT) &
                                         HSCIF_SRHP_MASK;


Reply via email to