[PATCH 3/5] serial: core: always return in-range baud rate even in case of failure
From: Hugo Villeneuve
Date: Tue Oct 20 2026 - 14:44:52 EST
From: Hugo Villeneuve <hvilleneuve@xxxxxxxxxxxx>
Returning a zero baud rate from uart_get_baud_rate() can trigger a division
by zero fault. To prevent this, always make sure to return non-zero baud
rate if the loop exits without a valid baud rate.
Signed-off-by: Hugo Villeneuve <hvilleneuve@xxxxxxxxxxxx>
---
drivers/tty/serial/serial_core.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/drivers/tty/serial/serial_core.c b/drivers/tty/serial/serial_core.c
index 0498a8524c6da..d9ed7db53e68d 100644
--- a/drivers/tty/serial/serial_core.c
+++ b/drivers/tty/serial/serial_core.c
@@ -542,8 +542,9 @@ uart_get_baud_rate(struct uart_port *port, struct ktermios *termios,
}
/* Should never happen */
- WARN_ON(1);
- return 0;
+ dev_warn_ratelimited(port->dev, "%s (%u): unable to find fallback baud rate\n",
+ port->name, port->line);
+ return baud;
}
EXPORT_SYMBOL(uart_get_baud_rate);
--
2.47.3