Hi Paul, On Fri, Nov 24, 2023 at 9:55 AM Paul Geurts <paul_geurts@xxxxxxx> wrote: > > When using the serial port as RS485 port, the tx statemachine is used to > control the RTS pin to drive the RS485 transceiver TX_EN pin. When the > TTY port is closed in the middle of a transmission (for instance during > userland application crash), imx_uart_shutdown disables the interface > and disables the Transmission Complete interrupt. afer that, > imx_uart_stop_tx bails on an incomplete transmission, to be retriggered > by the TC interrupt. This interrupt is disabled and therefore the tx > statemachine never transitions out of SEND. The statemachine is in > deadlock now, and the TX_EN remains low, making the interface useless. > > imx_uart_stop_tx now checks for incomplete transmission AND whether TC > interrupts are enabled before bailing to be retriggered. This makes sure > the state machine handling is reached, and is properly set to > WAIT_AFTER_SEND. > > Fixes: cb1a60923609 serial: imx: implement rts delaying for rs485 One nit: the correct format for the Fixes tag is: Fixes: cb1a60923609 ("serial: imx: implement rts delaying for rs485") And no blank line is needed between the Fixes and Signed-off-by line. > Signed-off-by: Paul Geurts <paul_geurts@xxxxxxx>