serial: 8250: Optimize irq enable after console write
authorLukas Wunner <lukas@wunner.de>
Fri, 27 Mar 2020 14:38:16 +0000 (15:38 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 27 Mar 2020 14:45:54 +0000 (15:45 +0100)
commit8d5b305484e8a3216eeb700ed6c6de870306adbd
tree0d91065810f0456a3bc4aa4c3bf9e8ae00ae3452
parent4e36f94e996ebee8a919c6cd419f55e4d08ad4e3
serial: 8250: Optimize irq enable after console write

Commit 7f9803072ff6 ("serial: 8250: Support console on software emulated
rs485 ports") amended serial8250_console_write() with rs485 support, but
positioned the invocation of ->rs485_stop_tx() after re-enablement of
interrupts.  The irq handler and ->console_write() are serialized with
the port spinlock, so no problem there, but due to the rs485 delay, the
irq handler may unnecessarily spin for a while.  Avoid that by moving
->rs485_stop_tx() before re-enablement of interrupts, which also mirrors
the order at the beginning of serial8250_console_write().

Signed-off-by: Lukas Wunner <lukas@wunner.de>
Link: https://lore.kernel.org/r/019839cb1f61b01210b6ff9ac9f9079ca77f8411.1585319447.git.lukas@wunner.de
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/8250/8250_port.c