Peter Hurley
7fd6f640f2
serial: 8250_dw: Fix deadlock in LCR workaround
...
Trying to write console output from within the serial console driver
while the port->lock is held causes recursive deadlock:
CPU 0
spin_lock_irqsave(&port->lock)
printk()
console_unlock()
call_console_drivers()
serial8250_console_write()
spin_lock_irqsave(&port->lock)
** DEADLOCK **
The 8250_dw i/o accessors try to write a console error message if the
LCR workaround was unsuccessful. When the port->lock is already held
(eg., when called from serial8250_set_termios()), this deadlocks.
Make the error message a FIXME until a general solution is devised.
Cc: Tim Kryger <tim.kryger@gmail.com >
Reported-by: Zhang Zhen <zhenzhang.zhang@huawei.com >
Signed-off-by: Peter Hurley <peter@hurleysoftware.com >
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2015-03-11 16:39:52 +01:00
..
2015-03-11 16:39:52 +01:00
2014-12-14 16:10:09 -08:00
2014-11-25 17:06:38 -08:00
2014-07-09 17:29:38 -07:00
2013-05-10 07:22:35 -07:00
2015-01-09 14:28:17 -08:00
2015-01-09 14:28:17 -08:00
2014-11-06 14:57:27 -08:00
2014-11-07 08:35:56 -08:00
2014-10-20 16:21:45 +02:00
2014-12-14 16:10:09 -08:00
2014-10-20 16:21:45 +02:00
2015-03-06 00:46:44 +01:00
2014-12-14 16:10:09 -08:00
2014-11-25 17:06:38 -08:00
2014-12-14 16:10:09 -08:00
2014-12-14 16:10:09 -08:00
2014-11-05 20:18:30 -08:00
2014-11-05 20:18:30 -08:00
2015-02-02 10:11:25 -08:00
2014-07-09 17:29:38 -07:00
2014-04-24 16:32:27 -07:00
2014-11-05 19:45:52 -08:00
2014-10-20 16:21:45 +02:00
2015-02-07 18:43:16 +08:00
2015-02-02 10:09:55 -08:00
2014-11-25 17:06:39 -08:00
2013-09-26 14:29:58 -07:00
2012-11-01 08:50:01 -07:00
2015-02-02 10:11:24 -08:00
2014-07-09 17:29:38 -07:00
2014-07-09 17:29:38 -07:00
2014-11-05 19:20:52 -08:00
2015-02-19 10:36:45 -08:00
2014-09-08 16:26:07 -07:00
2013-09-04 12:26:36 +02:00
2014-12-14 16:10:09 -08:00
2014-10-20 16:21:45 +02:00
2014-11-05 19:20:52 -08:00
2015-02-07 18:43:16 +08:00
2014-11-06 15:00:15 -08:00
2013-07-31 17:56:15 -07:00
2015-01-09 14:06:57 -08:00
2015-02-02 10:11:27 -08:00
2014-10-20 16:21:45 +02:00
2014-12-18 20:28:33 -08:00
2014-10-20 16:21:45 +02:00
2014-12-14 16:10:09 -08:00
2014-12-18 20:28:33 -08:00
2015-02-02 10:11:25 -08:00
2014-11-06 14:57:22 -08:00
2013-03-18 16:19:44 -07:00
2014-07-09 17:29:38 -07:00
2015-02-02 10:11:25 -08:00
2014-10-20 16:21:45 +02:00
2014-09-08 16:17:45 -07:00
2015-03-07 03:06:51 +01:00
2015-02-02 10:11:28 -08:00
2014-08-01 16:04:21 -07:00
2014-12-14 16:10:09 -08:00
2014-12-14 16:10:09 -08:00
2014-12-14 16:10:09 -08:00
2013-12-08 17:09:07 -08:00
2014-12-14 16:10:09 -08:00
2015-02-02 11:11:00 -08:00
2015-01-09 14:25:39 -08:00
2014-06-19 13:04:52 -07:00
2014-11-06 14:59:21 -08:00
2014-10-20 16:21:45 +02:00
2015-02-02 10:11:28 -08:00
2014-06-19 13:04:52 -07:00
2014-12-02 14:25:42 +01:00
2014-05-28 12:49:14 -07:00
2014-10-20 16:21:45 +02:00
2014-11-25 17:06:39 -08:00
2015-02-02 10:11:26 -08:00
2013-12-24 11:17:48 +09:00
2015-01-09 14:17:59 -08:00
2015-01-09 14:17:59 -08:00
2014-07-09 17:29:38 -07:00
2015-03-07 03:39:55 +01:00
2014-10-20 16:21:45 +02:00
2014-10-20 16:21:45 +02:00
2014-12-14 16:10:09 -08:00
2014-12-14 16:10:09 -08:00
2014-12-14 16:10:09 -08:00
2014-07-09 17:29:38 -07:00
2014-12-14 16:10:09 -08:00
2014-09-08 16:09:13 -07:00
2014-10-20 16:21:45 +02:00
2014-10-20 16:21:45 +02:00
2014-10-20 16:21:45 +02:00
2015-02-02 10:11:25 -08:00
2014-06-19 13:04:52 -07:00