serial: mpsc: release port lock on call to tty_flip_buffer_push
PATCH 1/1 serial: mpsc: release port lock on call to tty_flip_buffer_push
We need to release the port lock when we call tty_flip_buffer_push() to avoid a deadlock when the serial-core routines try to acquire the same lock. This deadlock has been observed on CONFIG_PREEMPT_RT configurations.
Signed-off-by Dale Farnsworth <[email protected]>
Cc <[email protected]>
--- drivers/serial/mpsc.c | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-)
drivers/serial/mpsc.c +2 -0
@@ -1065,7 +1065,9 @@ next_frame:if ((readl (pi->sdma_base +SDMA_SDCM ) &SDMA_SDCM_ERD ) ==0 )mpsc_start_rx (pi); +spin_unlock (&pi->port.lock);tty_flip_buffer_push (tty); +spin_lock (&pi->port.lock);return rc; }
Signature · 1 line
1.5.6