This is v6 of the serial fifo patch. In relation to the previous reverted patch, I describe the main changes in the "What changed from v3" section. What changed from v5 -------------------- * Fixed a typo in patch patch "port-state" becomes "port->state". What changed from v4 -------------------- * It squashes all the patches in a single patch * It adds `port-state &&` check in the `use_fifo` condition as a * preventive measure. What changed from v3 -------------------- * Reads the FCR value from the port struct. The earlier patch erroneously read the value from the controller, but FCR is a write-only register. Thanks to Jiri Slaby for point this out. * Use tx_loadsz as the transmitter fifo size. We previously used the port->fifosize field, which caused data loss in some controllers. Thanks Jon Hunter for the bug report. * Exclude the BCM283x from fifo write. This is based on Phil Elwell's original patch [1]. * Check if the port is initialized before write through fifo. The serial driver set the value of uart_8250_port.fcr in the function serial8250_config_port, but only writes the value to the controller register later in the initalization code. That opens a small window in which is not safe to use the fifo for console write. Unfortunately, I lost track of who originally reported the issue. If s/he is reading this, please speak up so I can give you the due credit. [1] https://lore.kernel.org/all/20220126141124.4086065-1-phil@xxxxxxxxxxxxxxx/ Wander Lairson Costa (1): serial/8250: Use fifo in 8250 console driver drivers/tty/serial/8250/8250_port.c | 68 ++++++++++++++++++++++++++--- 1 file changed, 62 insertions(+), 6 deletions(-) -- 2.35.1