Re: [REGRESSION][PATCH] serial: 8250_pci: Fix broken RS485 for F81504/508/512

From: Ilpo Järvinen

Date: Tue Sep 30 2025 - 07:32:52 EST


On Wed, 24 Sep 2025, Marnix Rijnart wrote:

> Commit 4afeced ("serial: core: fix sanitizing check for RTS settings")
> introduced a regression making it impossible to unset
> SER_RS485_RTS_ON_SEND from userspace if SER_RS485_RTS_AFTER_SEND is
> unsupported. Because these devices need RTS to be low on TX (fecf27a)
> they are effectively broken.
>
> The hardware supports both RTS_ON_SEND and RTS_AFTER_SEND,
> so fix this by announcing support for SER_RS485_RTS_AFTER_SEND,
> similar to commit 068d35a.
>
> Signed-off-by: Marnix Rijnart <marnix.rijnart@xxxxxxxx>

The Fixes tag is missing?

(And Cc stable tag will be necessary as well).

> ---
> drivers/tty/serial/8250/8250_pci.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/tty/serial/8250/8250_pci.c b/drivers/tty/serial/8250/8250_pci.c
> index 152f914c599d..a9da222bd174 100644
> --- a/drivers/tty/serial/8250/8250_pci.c
> +++ b/drivers/tty/serial/8250/8250_pci.c
> @@ -1645,7 +1645,7 @@ static int pci_fintek_rs485_config(struct uart_port *port, struct ktermios *term
> }
>
> static const struct serial_rs485 pci_fintek_rs485_supported = {
> - .flags = SER_RS485_ENABLED | SER_RS485_RTS_ON_SEND,
> + .flags = SER_RS485_ENABLED | SER_RS485_RTS_ON_SEND | SER_RS485_RTS_AFTER_SEND,
> /* F81504/508/512 does not support RTS delay before or after send */
> };
>
>

--
i.