From: Peter Hurley Date: Thu, 16 Oct 2014 20:54:26 +0000 (-0400) Subject: serial: core: Remove extra locking in uart_write() X-Git-Tag: v3.19-rc1~79^2~159 X-Git-Url: https://asedeno.scripts.mit.edu/gitweb/?a=commitdiff_plain;h=64dbee31050d5b93b5fcda25508e4d3c69f6589c;p=linux.git serial: core: Remove extra locking in uart_write() uart_start() only claims the port->lock to call __uart_start(), which does the actual processing. Eliminate the extra acquire/release in uart_write(); call __uart_start() directly with port->lock already held. Signed-off-by: Peter Hurley Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/tty/serial/serial_core.c b/drivers/tty/serial/serial_core.c index e0082b73c198..0282eaaff517 100644 --- a/drivers/tty/serial/serial_core.c +++ b/drivers/tty/serial/serial_core.c @@ -537,9 +537,10 @@ static int uart_write(struct tty_struct *tty, count -= c; ret += c; } + + __uart_start(tty); spin_unlock_irqrestore(&port->lock, flags); - uart_start(tty); return ret; }