On Fri, Sep 29, 2023 at 12:12:41AM +0200, Lino Sanfilippo wrote: > From: Lino Sanfilippo <l.sanfilippo@xxxxxxxxxx> > > Both the imx and stm32 driver set the rx-during-tx GPIO in the > rs485_config() function by means of gpiod_set_value(). Since rs485_config() > is called with the port lock held, this can be an problem in case that > setting the GPIO line can sleep (e.g. if a GPIO expander is used which is > connected via SPI or I2C). > > Avoid this issue by setting the GPIO outside of the port lock in the serial > core and by using gpiod_set_value_cansleep() instead of gpiod_set_value(). > > Since now both the term and the rx-during-tx GPIO are set within the serial > core use a common function uart_set_rs485_gpios() to set both. > > With moving it into the serial core setting the rx-during-tx GPIO is now > automatically done for all drivers that support such a GPIO. > > Cc: stable@xxxxxxxxxxxxxxx > Signed-off-by: Lino Sanfilippo <l.sanfilippo@xxxxxxxxxx> You cc: stable on many of these, but do not provide a "Fixes:" tag showing just how far back they should go. Can you do that so that we have a hint as to what to do here? thanks, greg k-h