On Wed, 15 Jun 2022, Andy Shevchenko wrote: > 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? Yes it was. > > 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. I guess I can make termios 2nd param. -- i.