]> git.karo-electronics.de Git - linux-beck.git/commit
serial: zs: Fix a transmit lockup in console output
authorMaciej W. Rozycki <macro@linux-mips.org>
Sat, 30 Jan 2016 09:11:46 +0000 (09:11 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 7 Feb 2016 07:13:30 +0000 (23:13 -0800)
commitfff21fac75ccebacd29fc16b56a46a124359917a
tree9a311ac2a5a74f975e8f8bf8f8c17f2d95b036fd
parentbdc5f300958062a766518b81d5378f837149d5c1
serial: zs: Fix a transmit lockup in console output

Transmit interrupts are disabled and the transmit buffer drained in the
course of console output so that polled transmission is possible.  That
however causes a lost transmit interrupt as the TxIP bit in RR3 is only
set on a transmit buffer full-to-empty transition and then iff transmit
interrupts are enabled at the same time.  Consequently if console output
disturbs a regular transmission in progress, the TxIP bit is never set
again and the transmission locks up waiting for a transmit interrupt.

Fix the problem by restarting transmission manually rather than waiting
for a transmit interrupt that will never happen.

Signed-off-by: Maciej W. Rozycki <macro@linux-mips.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/zs.c