diff options
Diffstat (limited to 'drivers/serial/serial_lpuart.c')
-rw-r--r-- | drivers/serial/serial_lpuart.c | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/drivers/serial/serial_lpuart.c b/drivers/serial/serial_lpuart.c index f28035a326..246fc3d3af 100644 --- a/drivers/serial/serial_lpuart.c +++ b/drivers/serial/serial_lpuart.c @@ -68,11 +68,14 @@ static int lpuart_serial_setbaudrate(struct console_device *cdev, lpuart_enable(lpuart, false); - lpuart_setbrg(lpuart->base, - clk_get_rate(lpuart->clk), - baudrate); - - lpuart_enable(lpuart, true); + /* + * We treat baudrate of 0 as a request to disable UART + */ + if (baudrate) { + lpuart_setbrg(lpuart->base, clk_get_rate(lpuart->clk), + baudrate); + lpuart_enable(lpuart, true); + } lpuart->baudrate = baudrate; |