]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
serial: 8250: invert conditions in RSA functions
authorJiri Slaby (SUSE) <jirislaby@kernel.org>
Wed, 11 Jun 2025 10:02:56 +0000 (12:02 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 17 Jun 2025 11:42:34 +0000 (13:42 +0200)
The code can short-return in case something does not hold. So invert the
conditions and return in those cases immediately. This makes the code
flow more natural and less nested.

Signed-off-by: "Jiri Slaby (SUSE)" <jirislaby@kernel.org>
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Link: https://lore.kernel.org/r/20250611100319.186924-11-jirislaby@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/8250/8250_port.c

index 233316a88df2bcfba9c0f9f6009948b7e71397e5..e7652d62ab2f38d5e69869b5ec3bbb9386d1db15 100644 (file)
@@ -743,15 +743,16 @@ static int __enable_rsa(struct uart_8250_port *up)
  */
 static void enable_rsa(struct uart_8250_port *up)
 {
-       if (up->port.type == PORT_RSA) {
-               if (up->port.uartclk != SERIAL_RSA_BAUD_BASE * 16) {
-                       uart_port_lock_irq(&up->port);
-                       __enable_rsa(up);
-                       uart_port_unlock_irq(&up->port);
-               }
-               if (up->port.uartclk == SERIAL_RSA_BAUD_BASE * 16)
-                       serial_out(up, UART_RSA_FRR, 0);
+       if (up->port.type != PORT_RSA)
+               return;
+
+       if (up->port.uartclk != SERIAL_RSA_BAUD_BASE * 16) {
+               uart_port_lock_irq(&up->port);
+               __enable_rsa(up);
+               uart_port_unlock_irq(&up->port);
        }
+       if (up->port.uartclk == SERIAL_RSA_BAUD_BASE * 16)
+               serial_out(up, UART_RSA_FRR, 0);
 }
 
 /*
@@ -764,37 +765,45 @@ static void disable_rsa(struct uart_8250_port *up)
        unsigned char mode;
        int result;
 
-       if (up->port.type == PORT_RSA &&
-           up->port.uartclk == SERIAL_RSA_BAUD_BASE * 16) {
-               uart_port_lock_irq(&up->port);
+       if (up->port.type != PORT_RSA)
+               return;
 
-               mode = serial_in(up, UART_RSA_MSR);
-               result = !(mode & UART_RSA_MSR_FIFO);
+       if (up->port.uartclk != SERIAL_RSA_BAUD_BASE * 16)
+               return;
 
-               if (!result) {
-                       serial_out(up, UART_RSA_MSR, mode & ~UART_RSA_MSR_FIFO);
-                       mode = serial_in(up, UART_RSA_MSR);
-                       result = !(mode & UART_RSA_MSR_FIFO);
-               }
+       uart_port_lock_irq(&up->port);
+       mode = serial_in(up, UART_RSA_MSR);
+       result = !(mode & UART_RSA_MSR_FIFO);
 
-               if (result)
-                       up->port.uartclk = SERIAL_RSA_BAUD_BASE_LO * 16;
-               uart_port_unlock_irq(&up->port);
+       if (!result) {
+               serial_out(up, UART_RSA_MSR, mode & ~UART_RSA_MSR_FIFO);
+               mode = serial_in(up, UART_RSA_MSR);
+               result = !(mode & UART_RSA_MSR_FIFO);
        }
+
+       if (result)
+               up->port.uartclk = SERIAL_RSA_BAUD_BASE_LO * 16;
+       uart_port_unlock_irq(&up->port);
 }
 
 static void rsa_autoconfig(struct uart_8250_port *up)
 {
        /* Only probe for RSA ports if we got the region. */
-       if (up->port.type == PORT_16550A && up->probe & UART_PROBE_RSA &&
-           __enable_rsa(up))
+       if (up->port.type != PORT_16550A)
+               return;
+       if (!(up->probe & UART_PROBE_RSA))
+               return;
+
+       if (__enable_rsa(up))
                up->port.type = PORT_RSA;
 }
 
 static void rsa_reset(struct uart_8250_port *up)
 {
-       if (up->port.type == PORT_RSA)
-               serial_out(up, UART_RSA_FRR, 0);
+       if (up->port.type != PORT_RSA)
+               return;
+
+       serial_out(up, UART_RSA_FRR, 0);
 }
 #else
 static inline void enable_rsa(struct uart_8250_port *up) {}