[PATCH 12/18] serial: sifive: Use uart_prepare_sysrq_char() to handle sysrq.

Samuel Holland samuel.holland at sifive.com
Wed Mar 6 17:39:19 PST 2024


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 at dabbelt.com>
> Cc: Paul Walmsley <paul.walmsley at sifive.com>
> Cc: linux-riscv at lists.infradead.org
> Signed-off-by: Sebastian Andrzej Siewior <bigeasy at linutronix.de>
> ---
>  drivers/tty/serial/sifive.c | 17 +++++++----------
>  1 file changed, 7 insertions(+), 10 deletions(-)

Acked-by: Samuel Holland <samuel.holland at sifive.com>
Tested-by: Samuel Holland <samuel.holland at sifive.com>




More information about the linux-riscv mailing list