mbox series

[v2,0/3] serial: Fix regression in omap-serial and pxa

Message ID 20240606195632.173255-1-doug@schmorgal.com
Headers show
Series serial: Fix regression in omap-serial and pxa | expand

Message

Doug Brown June 6, 2024, 7:56 p.m. UTC
This series fixes a problem observed starting with v6.9 on the PXA168
Chumby 8 and the OMAP3530 BeagleBoard. The UART would hang and stop
transmitting further data.

The root cause ended up being the change in commit 7bfb915a597a
("serial: core: only stop transmit when HW fifo is empty") that
restricted when tx_stop() could be called. It broke omap-serial and pxa.

The change was intended to fix an issue with bcm63xx-uart after commit
d11cc8c3c4b6 ("tty: serial: use uart_port_tx_limited()"). Instead, go
back to Jonas' original patch series that fixes the issue directly in
the bcm63xx-uart driver [1].

Changes since V1 [2]:

- Revert the broken commit and apply Jonas' patches for bcm63xx-uart
  instead of directly fixing the issue in the pxa driver (at the time, I
  didn't realize omap-serial was also affected).

[1] https://lore.kernel.org/lkml/20240225151426.1342285-1-jonas.gorski@gmail.com/
[2] https://lore.kernel.org/linux-serial/20240519193109.122466-1-doug@schmorgal.com/

Doug Brown (1):
  Revert "serial: core: only stop transmit when HW fifo is empty"

Jonas Gorski (2):
  serial: core: introduce uart_port_tx_limited_flags()
  serial: bcm63xx-uart: fix tx after conversion to
    uart_port_tx_limited()

 drivers/tty/serial/bcm63xx_uart.c |  7 +++++--
 include/linux/serial_core.h       | 21 +++++++++++++++++++--
 2 files changed, 24 insertions(+), 4 deletions(-)