On Sat, 9 Dec 2023, Lino Sanfilippo wrote: > If the imx driver cannot support RS485 it sets the ports rs485_supported > structure to NULL. No, an embedded struct inside struct uart_port cannot be set to NULL, it's always there. Looking into the code, that setting of rs485_supported from imx_no_rs485 is actually superfluous as it should be already cleared to zeros on alloc. > But it still calls uart_get_rs485_mode() which may set > the RS485_ENABLED flag nevertheless. > > This may lead to an attempt to configure RS485 even if it is not supported > when the flag is evaluated in uart_configure_port() at port startup. > > Avoid this by bailing out of uart_get_rs485_mode() if the RS485_ENABLED > flag is not supported by the caller. > > With this fix a check for RTS availability is now obsolete in the imx > driver, since it can not evaluate to true any more. Remove this check, too. > > Fixes: 00d7a00e2a6f ("serial: imx: Fill in rs485_supported") > Cc: Shawn Guo <shawnguo@xxxxxxxxxx> > Cc: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> > Cc: stable@xxxxxxxxxxxxxxx > Suggested-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> > Signed-off-by: Lino Sanfilippo <l.sanfilippo@xxxxxxxxxx> -- i.