sc16is7xx: Properly resume TX after stop
authorTomasz Moń <tomasz.mon@camlingroup.com>
Tue, 1 Mar 2022 06:03:30 +0000 (07:03 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 1 Mar 2022 21:16:58 +0000 (22:16 +0100)
commitcc4c1d05eb10c3ad4c6315f1897bc56b1e7429aa
tree42aa303d06f3728234e46a2479411bdd9e70d2e2
parent16b3ac9041a33fd34990717096476145d08d42fc
sc16is7xx: Properly resume TX after stop

sc16is7xx_stop_tx() clears THRI bit and thus disables THRI interrupt.
This makes it possible for transmission to cease indefinitely when more
than 64 characters are being sent.

The sc16is7xx_handle_tx() call executed by sc16is7xx_tx_proc() can send
up to FIFO length (64) characters. If more characters are written to the
output buffer, then the THRI interrupt is needed.

Solve the issue by enabling THRI interrupt in sc16is7xx_tx_proc().

Signed-off-by: Tomasz Moń <tomasz.mon@camlingroup.com>
Link: https://lore.kernel.org/r/20220301060332.2561851-2-tomasz.mon@camlingroup.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/sc16is7xx.c