From 8aff64e00f1eced4e73ca81c7599c06851da4475 Mon Sep 17 00:00:00 2001 From: Jiri Slaby Date: Fri, 18 Jun 2021 08:15:03 +0200 Subject: mxser: don't start TX from tty_operations::put_char TX is not supposed to be started from tty_operations::put_char. Line disciplines ought to call tty_operations::put_char several times and then do a single tty_operations::flush_chars to start TX. Fix this in mxser by removing TX startup from mxser_put_char. Signed-off-by: Jiri Slaby Link: https://lore.kernel.org/r/20210618061516.662-58-jslaby@suse.cz Signed-off-by: Greg Kroah-Hartman --- drivers/tty/mxser.c | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) (limited to 'drivers/tty/mxser.c') diff --git a/drivers/tty/mxser.c b/drivers/tty/mxser.c index daf820c086f4..52dbdd4282b2 100644 --- a/drivers/tty/mxser.c +++ b/drivers/tty/mxser.c @@ -998,17 +998,7 @@ static int mxser_put_char(struct tty_struct *tty, unsigned char ch) info->xmit_head &= SERIAL_XMIT_SIZE - 1; info->xmit_cnt++; spin_unlock_irqrestore(&info->slock, flags); - if (!tty->flow.stopped) { - if (!tty->hw_stopped || - (info->type == PORT_16550A) || - info->board->must_hwid) { - spin_lock_irqsave(&info->slock, flags); - outb(info->IER & ~UART_IER_THRI, info->ioaddr + UART_IER); - info->IER |= UART_IER_THRI; - outb(info->IER, info->ioaddr + UART_IER); - spin_unlock_irqrestore(&info->slock, flags); - } - } + return 1; } -- cgit 1.4.1