Hello, After testing the patch v8, I found two more glitches, which happen at least in 4.1 kernel (I applied the changes to 8250_core.c, since 8250_port.c isn't made separate in 4.1): 1) When serial8250_em485_init is called from omap_8250_rs485_config, there is a lockdep warning, and according to the stack trace it happens at kmalloc invocation. Passing GFP_ATOMIC instead of GFP_KERNEL in flags apparently fixes the problem. 2) Once a transmission happens and completes, the behavior of AM335x UART becomes strange - it seemingly doesn't receive anything (or fails to return to userspace the received payload). At the time of next transmission (sometimes just before, sometimes just after, but never during it) the single last received byte is returned via read, the rest of the payload discarded. However when SER_RS485_RX_DURING_TX is set, it works just okay. The problem is, this happens when clearly the payload is not received during transmission, so it isn't liable to be discarded upon clearing FIFO. Best guess the Rx interrupt which is disabled in start_tx_rs485 upon calling serial8250_stop_rx isn't properly restored. Regards, Ilyas G. -- To unsubscribe from this list: send the line "unsubscribe linux-serial" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html