| From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> |
| Date: Mon, 11 Apr 2016 16:55:02 +0200 |
| Subject: [PATCH] tty: serial: 8250: don't take the trylock during oops |
| |
| An oops with irqs off (panic() from irqsafe hrtimer like the watchdog |
| timer) will lead to a lockdep warning on each invocation and as such |
| never completes. |
| Therefore we skip the trylock in the oops case. |
| |
| Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> |
| --- |
| drivers/tty/serial/8250/8250_port.c | 4 +--- |
| 1 file changed, 1 insertion(+), 3 deletions(-) |
| |
| --- a/drivers/tty/serial/8250/8250_port.c |
| +++ b/drivers/tty/serial/8250/8250_port.c |
| @@ -3092,10 +3092,8 @@ void serial8250_console_write(struct uar |
| |
| serial8250_rpm_get(up); |
| |
| - if (port->sysrq) |
| + if (port->sysrq || oops_in_progress) |
| locked = 0; |
| - else if (oops_in_progress) |
| - locked = spin_trylock_irqsave(&port->lock, flags); |
| else |
| spin_lock_irqsave(&port->lock, flags); |
| |