[PATCH] serial: lpuart: Avoid division by zero when requested baudrate is

Sascha Hauer s.hauer at pengutronix.de
Mon May 14 00:14:56 PDT 2018


On Tue, May 08, 2018 at 02:15:02PM -0700, Andrey Smirnov wrote:
> With serdev device support added there's now a corner case where:
> 
>  1. There is a DT node for a serdev device on one of the UARTs
>  2. There is no driver that binds against serdev device's compatibility
>     string
> 
> with 1 and 2 being true it is possible to end up in a situation where
> a particualr UART has not been initalized to any baudrate when
> clock_notifier_call_chain() gets called. This effectively translates
> to
> 
> 	set_baudrate(uart, 0);
> 
> which for LPUART driver result in a division by zero.

This probably leads to a division by zero for most drivers since
dividing by the baudrate is a common pattern. Wouldn't it be better to
catch this is console_set_baudrate()?

Sascha

-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |



More information about the barebox mailing list