On 2024-03-01 3:45 PM, Sebastian Andrzej Siewior wrote: > The port lock is a spinlock_t which is becomes a sleeping lock on PREEMPT_RT. > The driver splits the locking function into two parts: local_irq_save() and > uart_port_lock() and this breaks PREEMPT_RT. > > Handle sysrq requests sysrq once the port lock is dropped. > Remove the special case in the console write routine an always use the > complete locking function. > > Cc: Palmer Dabbelt <palmer@xxxxxxxxxxx> > Cc: Paul Walmsley <paul.walmsley@xxxxxxxxxx> > Cc: linux-riscv@xxxxxxxxxxxxxxxxxxx > Signed-off-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> > --- > drivers/tty/serial/sifive.c | 17 +++++++---------- > 1 file changed, 7 insertions(+), 10 deletions(-) Acked-by: Samuel Holland <samuel.holland@xxxxxxxxxx> Tested-by: Samuel Holland <samuel.holland@xxxxxxxxxx>