Quoting skakit@xxxxxxxxxxxxxx (2020-03-04 05:34:20) > As we mentioned in the V1 patch, we are passing drop="true" to handle_rx > function so it will read and discard whatever data present in RX FIFO, > it won't send to upper layers. > static int handle_rx_uart(struct uart_port *uport, u32 bytes, bool drop) > { > .... > ioread32_rep(uport->membase + SE_GENI_RX_FIFOn, port->rx_fifo, > words); > if (drop) > return 0; > .... > } > In general uart_startup() is called before set_termios() ,but as per the > crash logs shared, it seems RX engine is active(which can only happen > from set_termios) before startup() is called.So, if we allocate > port->rx_fifo in probe we can overcome this crash. Ok. Thanks for clarifying. Can you please mention in the commit text that the fifo contents are read into rx_fifo but then dropped?