summaryrefslogtreecommitdiffstats
path: root/drivers/serial/serial_lpuart.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/serial/serial_lpuart.c')
-rw-r--r--drivers/serial/serial_lpuart.c13
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;