serial: 8250_dw: Store LSR into lsr_saved_flags in dw8250_tx_wait_empty()
authorIlpo Järvinen <ilpo.jarvinen@linux.intel.com>
Wed, 8 Jun 2022 09:54:31 +0000 (12:54 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 10 Jun 2022 11:45:09 +0000 (13:45 +0200)
commitaf14f3007e2dca0d112f10f6717ba43093f74e81
tree52c05a216b5faeadc033a6297626de24dcd4dc14
parent197eb5c416ff0e52d152e6ff59b4e759d2f3e10d
serial: 8250_dw: Store LSR into lsr_saved_flags in dw8250_tx_wait_empty()

Make sure LSR flags are preserved in dw8250_tx_wait_empty(). This
function is called from a low-level out function and therefore cannot
call serial_lsr_in() as it would lead to infinite recursion.

It is borderline if the flags need to be saved here at all since this
code relates to writing LCR register which usually implies no important
characters should be arriving.

Fixes: 914eaf935ec7 ("serial: 8250_dw: Allow TX FIFO to drain before writing to UART_LCR")
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Link: https://lore.kernel.org/r/20220608095431.18376-7-ilpo.jarvinen@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/8250/8250_dw.c