Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

serial: 8250: 8250_omap.c: Clear DMA RX running status only after DMA termination is done

Clear rx_running flag only after DMA teardown polling completes. In the
previous implementation the flag was being cleared while hardware teardown
was still in progress, creating a mismatch between software state
(flag = 0, "ready") and hardware state (still terminating).

Signed-off-by: Moteen Shah <m-shah@ti.com>
Link: https://patch.msgid.link/20260112081829.63049-3-m-shah@ti.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

authored by

Moteen Shah and committed by
Greg Kroah-Hartman
a5fd8945 623b07b3

+1 -1
+1 -1
drivers/tty/serial/8250/8250_omap.c
··· 931 931 goto out; 932 932 933 933 cookie = dma->rx_cookie; 934 - dma->rx_running = 0; 935 934 936 935 /* Re-enable RX FIFO interrupt now that transfer is complete */ 937 936 if (priv->habit & UART_HAS_RHR_IT_DIS) { ··· 964 965 goto out; 965 966 ret = tty_insert_flip_string(tty_port, dma->rx_buf, count); 966 967 968 + dma->rx_running = 0; 967 969 p->port.icount.rx += ret; 968 970 p->port.icount.buf_overrun += count - ret; 969 971 out: