]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
serial: 8250: document doubled "type == PORT_8250_CIR" check
authorJiri Slaby (SUSE) <jirislaby@kernel.org>
Tue, 24 Jun 2025 08:06:40 +0000 (10:06 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 24 Jun 2025 14:32:56 +0000 (15:32 +0100)
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)" <jirislaby@kernel.org>
Suggested-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Acked-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Cc: "Maciej S. Szmigiero" <mail@maciej.szmigiero.name>
Link: https://lore.kernel.org/all/aFcDOx1bdB34I5hS@surfacebook.localdomain/
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Link: https://lore.kernel.org/r/20250624080641.509959-5-jirislaby@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/8250/8250_core.c

index a6ecb8575da4f492e7b489c6c13f1303f512ffe0..feb920c5b2e80ef95d4b25f669034df438ea91c6 100644 (file)
@@ -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);