This is a note to let you know that I've just added the patch titled serial: 8250_exar: Set missing rs485_supported flag to the 6.7-stable tree which can be found at: http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary The filename of the patch is: serial-8250_exar-set-missing-rs485_supported-flag.patch and it can be found in the queue-6.7 subdirectory. If you, or anyone else, feels it should not be added to the stable tree, please let <stable@xxxxxxxxxxxxxxx> know about it. >From 0c2a5f471ce58bca8f8ab5fcb911aff91eaaa5eb Mon Sep 17 00:00:00 2001 From: Lino Sanfilippo <l.sanfilippo@xxxxxxxxxx> Date: Wed, 3 Jan 2024 07:18:18 +0100 Subject: serial: 8250_exar: Set missing rs485_supported flag MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit From: Lino Sanfilippo <l.sanfilippo@xxxxxxxxxx> commit 0c2a5f471ce58bca8f8ab5fcb911aff91eaaa5eb upstream. The UART supports an auto-RTS mode in which the RTS pin is automatically activated during transmission. So mark this mode as being supported even if RTS is not controlled by the driver but the UART. Also the serial core expects now at least one of both modes rts-on-send or rts-after-send to be supported. This is since during sanitization unsupported flags are deleted from a RS485 configuration set by userspace. However if the configuration ends up with both flags unset, the core prints a warning since it considers such a configuration invalid (see uart_sanitize_serial_rs485()). Cc: <stable@xxxxxxxxxxxxxxx> Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@xxxxxxxxxxxxxxx> Signed-off-by: Lino Sanfilippo <l.sanfilippo@xxxxxxxxxx> Link: https://lore.kernel.org/r/20240103061818.564-8-l.sanfilippo@xxxxxxxxxx Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> --- drivers/tty/serial/8250/8250_exar.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) --- a/drivers/tty/serial/8250/8250_exar.c +++ b/drivers/tty/serial/8250/8250_exar.c @@ -480,7 +480,7 @@ static int sealevel_rs485_config(struct } static const struct serial_rs485 generic_rs485_supported = { - .flags = SER_RS485_ENABLED, + .flags = SER_RS485_ENABLED | SER_RS485_RTS_ON_SEND, }; static const struct exar8250_platform exar8250_default_platform = { @@ -524,7 +524,8 @@ static int iot2040_rs485_config(struct u } static const struct serial_rs485 iot2040_rs485_supported = { - .flags = SER_RS485_ENABLED | SER_RS485_RX_DURING_TX | SER_RS485_TERMINATE_BUS, + .flags = SER_RS485_ENABLED | SER_RS485_RTS_ON_SEND | + SER_RS485_RX_DURING_TX | SER_RS485_TERMINATE_BUS, }; static const struct property_entry iot2040_gpio_properties[] = { Patches currently in stable-queue which might be from l.sanfilippo@xxxxxxxxxx are queue-6.7/serial-omap-do-not-override-settings-for-rs485-support.patch queue-6.7/serial-core-imx-do-not-set-rs485-enabled-if-it-is-not-supported.patch queue-6.7/serial-8250_exar-set-missing-rs485_supported-flag.patch queue-6.7/serial-do-not-hold-the-port-lock-when-setting-rx-during-tx-gpio.patch queue-6.7/serial-core-set-missing-supported-flag-for-rx-during-tx-gpio.patch queue-6.7/serial-core-fix-sanitizing-check-for-rts-settings.patch queue-6.7/serial-core-make-sure-rs485-cannot-be-enabled-when-it-is-not-supported.patch