On Wed, Mar 11, 2015 at 09:19:16AM -0400, Peter Hurley wrote: > 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@xxxxxxxxx> > Reported-by: Zhang Zhen <zhenzhang.zhang@xxxxxxxxxx> > Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> > --- > drivers/tty/serial/8250/8250_dw.c | 15 ++++++++++++--- > 1 file changed, 12 insertions(+), 3 deletions(-) Should this go into 4.0-final? Are people hitting this now, or did you just find it by code reading? thanks, greg k-h -- To unsubscribe from this list: send the line "unsubscribe linux-serial" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html