On Mon, Apr 26, 2021 at 03:49:34PM +0800, Sherry Sun wrote: > This issue is reported by Coverity Check. > In lpuart32_console_get_options, division or modulo by zero may results > in undefined behavior. > > Signed-off-by: Sherry Sun <sherry.sun@xxxxxxx> > --- > drivers/tty/serial/fsl_lpuart.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/drivers/tty/serial/fsl_lpuart.c b/drivers/tty/serial/fsl_lpuart.c > index 794035041744..777d54b593f8 100644 > --- a/drivers/tty/serial/fsl_lpuart.c > +++ b/drivers/tty/serial/fsl_lpuart.c > @@ -2414,6 +2414,9 @@ lpuart32_console_get_options(struct lpuart_port *sport, int *baud, > > bd = lpuart32_read(&sport->port, UARTBAUD); > bd &= UARTBAUD_SBR_MASK; > + if (!bd) > + return; How can this ever happen? Not to say this is a bad check, but it feels like this can't really happen in real life, what code patch could create this result? And have you tested this on real hardware? thanks, greg k-h