From: Jiri Slaby Date: Fri, 18 Jun 2021 06:15:01 +0000 (+0200) Subject: mxser: cleanup mxser_rs_break X-Git-Tag: v5.14-rc1~65^2~27 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=5990843328360dcded98104f75045a92d241c043;p=thirdparty%2Fkernel%2Flinux.git mxser: cleanup mxser_rs_break 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 Link: https://lore.kernel.org/r/20210618061516.662-56-jslaby@suse.cz Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/tty/mxser.c b/drivers/tty/mxser.c index e5f8d08de8fdd..5789c4343f105 100644 --- a/drivers/tty/mxser.c +++ b/drivers/tty/mxser.c @@ -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; }