]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
mxser: cleanup mxser_rs_break
authorJiri Slaby <jslaby@suse.cz>
Fri, 18 Jun 2021 06:15:01 +0000 (08:15 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 18 Jun 2021 11:10:02 +0000 (13:10 +0200)
mxser_rs_break now does all inb, outb, & or | in a single statement. The
code is hard to follow, so make it more readable by doing one-line =
one-statement.

Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Link: https://lore.kernel.org/r/20210618061516.662-56-jslaby@suse.cz
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/mxser.c

index e5f8d08de8fdd0e54154b0fb5933ba1983b73eb4..5789c4343f1050f68fdb7285df81076c01c2f4aa 100644 (file)
@@ -1553,15 +1553,17 @@ static int mxser_rs_break(struct tty_struct *tty, int break_state)
 {
        struct mxser_port *info = tty->driver_data;
        unsigned long flags;
+       u8 lcr;
 
        spin_lock_irqsave(&info->slock, flags);
+       lcr = inb(info->ioaddr + UART_LCR);
        if (break_state == -1)
-               outb(inb(info->ioaddr + UART_LCR) | UART_LCR_SBC,
-                       info->ioaddr + UART_LCR);
+               lcr |= UART_LCR_SBC;
        else
-               outb(inb(info->ioaddr + UART_LCR) & ~UART_LCR_SBC,
-                       info->ioaddr + UART_LCR);
+               lcr &= ~UART_LCR_SBC;
+       outb(lcr, info->ioaddr + UART_LCR);
        spin_unlock_irqrestore(&info->slock, flags);
+
        return 0;
 }