The original problem that caused these changes was broken bytes being sent/received at random on RTS/CTS handshake switch (i.e., on setting/clearing termios CRTSCTS bit). As it went, a few other problems were found and fixed, and then the fix for original issue has been split into multiple patches that seem to make sense by themselves. Thus, the "serial: imx: fix data breakage on termios change", that finally fixes the issue, depends on 2 preceding patches. The last patch in the series, "serial: imx: use Tx ready rather than Tx empty irq" is independent of the rest and doesn't fix any serious issue, but it should get rid of holes in continuous output, specifically in PIO mode. Changes in v2: - Removed wrong [PATCH 1/8] serial: imx: fix DTR inversion - Rebased on top of "tty-next" Sergey Organov (5): serial: imx: get rid of unbounded busy-waiting loop serial: imx: do not stop Rx/Tx on termios change serial: imx: do not disable individual irqs during termios change serial: imx: fix data breakage on termios change serial: imx: use Tx ready rather than Tx empty irq drivers/tty/serial/imx.c | 56 ++++++++++++++++++++++-------------------------- 1 file changed, 26 insertions(+), 30 deletions(-) -- 2.10.0.1.g57b01a3