--- a/drivers/tty/serial/serial_core.c
+++ b/drivers/tty/serial/serial_core.c
@@ -356,6 +356,9 @@
 	else if (flags == UPF_SPD_WARP)
 		altbaud = 460800;
 
+	if (tty_termios_baud_rate(termios) == 2500000)
+		return 250000;
+
 	for (try = 0; try < 2; try++) {
 		baud = tty_termios_baud_rate(termios);