On 03/11/2015 09:26 AM, Greg Kroah-Hartman wrote: > 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? 4.0-final >From the original reporter in the other thread titled, "[RFC] With 8250 Designware UART, if writes to the LCR failed the kernel will hung up" On 03/06/2015 04:11 AM, Zhang Zhen wrote:> Hi, > > I'm testing 4.0-rc1 kernel on my board with 8250 Designware UART.(ARM Cortex-a15 single core). > > I found if serial is busy and writes to the LCR failed after tried 1000 times. > The kernel will hung up. -- 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