serial: st-asc: Fix overflow in baudrate calculation
authorMaxime COQUELIN <maxime.coquelin@st.com>
Thu, 24 Jul 2014 12:02:56 +0000 (14:02 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 27 Jul 2014 18:05:08 +0000 (11:05 -0700)
commit1d6ba284dff546baca58e78546da46be3b48462a
treeb2455df55830e09ef16570289e5bc741bfbf75cf
parent5b4e79ae452613a9d391cf1e5ab7e9a49241ad28
serial: st-asc: Fix overflow in baudrate calculation

In the current calculation, if the required baud rate is above 262143,
we get an overflow.

This patch uses a 64bits variable to do the maths.
Also, we remove the '+1' to avoid a divide by zero if the input clock
rate is something unexpected.
Indeed, if the input clock rate is zero, it is preferable to be notified,
since the UART won't work anyway.

Signed-off-by: Maxime Coquelin <maxime.coquelin@st.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/st-asc.c