From 543a5af343402d007689f2ec8cfc11670b368b8c Mon Sep 17 00:00:00 2001 From: "Jiri Slaby (SUSE)" Date: Tue, 24 Jun 2025 10:06:40 +0200 Subject: [PATCH] serial: 8250: document doubled "type == PORT_8250_CIR" check MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit The check for "port.type == PORT_8250_CIR" is present twice in serial8250_register_8250_port(). The latter was already tried to be dropped by 1104321a7b3b ("serial: Delete dead code for CIR serial ports") and then reverted by 9527b82ae3af ("Revert "serial: Delete dead code for CIR serial ports""). Document this weirdness with a reason. Signed-off-by: "Jiri Slaby (SUSE)" Suggested-by: Andy Shevchenko Acked-by: Andy Shevchenko Cc: "Maciej S. Szmigiero" Link: https://lore.kernel.org/all/aFcDOx1bdB34I5hS@surfacebook.localdomain/ Reviewed-by: Ilpo Järvinen Link: https://lore.kernel.org/r/20250624080641.509959-5-jirislaby@kernel.org Signed-off-by: Greg Kroah-Hartman --- drivers/tty/serial/8250/8250_core.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/tty/serial/8250/8250_core.c b/drivers/tty/serial/8250/8250_core.c index a6ecb8575da4f..feb920c5b2e80 100644 --- a/drivers/tty/serial/8250/8250_core.c +++ b/drivers/tty/serial/8250/8250_core.c @@ -717,6 +717,7 @@ int serial8250_register_8250_port(const struct uart_8250_port *up) nr_uarts++; } + /* Check if it is CIR already. We check this below again, see there why. */ if (uart->port.type == PORT_8250_CIR) { ret = -ENODEV; goto unlock; @@ -815,6 +816,7 @@ int serial8250_register_8250_port(const struct uart_8250_port *up) if (up->dl_write) uart->dl_write = up->dl_write; + /* Check the type (again)! It might have changed by the port.type assignment above. */ if (uart->port.type != PORT_8250_CIR) { if (uart_console_registered(&uart->port)) pm_runtime_get_sync(uart->port.dev); -- 2.51.0