summaryrefslogtreecommitdiff
path: root/lib/string_helpers.c
diff options
context:
space:
mode:
authorVignesh R <vigneshr@ti.com>2018-02-08 18:25:41 +0530
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2018-05-25 16:13:15 +0200
commit3ac3103cd0dd2d67c2331377844dffd8b13c3ba6 (patch)
tree8adf7377036fe48653f16d7cd9421ee1ac3945b3 /lib/string_helpers.c
parent561a4f4d9d4d0f71333ab53bc29a96b74edaedb2 (diff)
serial: 8250: Don't service RX FIFO if interrupts are disabled
[ Upstream commit 2e9fe539108320820016f78ca7704a7342788380 ] Currently, data in RX FIFO is read based on UART_LSR register state even if RDI and RLSI interrupts are disabled in UART_IER register. This is because when IRQ handler is called due to TX FIFO empty event, RX FIFO is serviced based on UART_LSR register status instead of UART_IIR status. This defeats the purpose of disabling UART RX FIFO interrupts during throttling(see, omap_8250_throttle()) as IRQ handler continues to drain UART RX FIFO resulting in overflow of buffer at tty layer. Fix this by making sure that driver drains UART RX FIFO only when UART_IIR_RDI is set along with UART_LSR_BI or UART_LSR_DR bits. Signed-off-by: Vignesh R <vigneshr@ti.com> Signed-off-by: Sasha Levin <alexander.levin@microsoft.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'lib/string_helpers.c')
0 files changed, 0 insertions, 0 deletions