On Fri, Nov 25, 2022 at 3:37 PM Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> wrote: > [snip] > > + > > +static void qcom_geni_serial_start_tx_dma(struct uart_port *uport) > > +{ > > + struct qcom_geni_serial_port *port = to_dev_port(uport); > > + struct circ_buf *xmit = &uport->state->xmit; > > + unsigned int xmit_size; > > + int ret; > > + > > + if (port->tx_dma_addr) > > + return; > Is this condition actually possible? > So it turns out, it's possible that the subsystem calls start_tx when this is already set but the main engine is not yet in active state (so we can't simply test that bit). This needs to stay then. Bart