On Wed, Jun 15, 2022 at 03:48:27PM +0300, Ilpo Järvinen wrote: > To be able to alter ADDRB within .rs485_config(), take termios_rwsem > before calling .rs485_config() and pass termios. I would use ->rs485_config() as a reference to the callback. ... > - ret = port->rs485_config(port, rs485); > + ret = port->rs485_config(port, rs485, NULL); > + Stray change? > if (ret) > memset(rs485, 0, sizeof(*rs485)); ... > void (*handle_break)(struct uart_port *); > int (*rs485_config)(struct uart_port *, > - struct serial_rs485 *rs485); > + struct serial_rs485 *rs485, > + struct ktermios *termios); Dunno if termios has to be second parameter. The idea is to pass input data followed by (auxiliary) output as usual pattern. > int (*iso7816_config)(struct uart_port *, > struct serial_iso7816 *iso7816); -- With Best Regards, Andy Shevchenko