tcdrain(3) does not wait for serial output to complete when used with the uart(4) driver. This worked correctly on 6.4 and 7.x with the sio(4) driver. How-To-Repeat: Loop back a serial port, write a long buffer to it, then call tcdrain(3) to wait for output to complete, and call tcflush(3) to get rid of the data. A subsequent read will show that part of the data is in the receive buffer, probably because it was received after tcflush(3) was called because tcdrain(3) was called early. See http://forums.freebsd.org/showthread.php?t=12154 for more info and sample code.
Responsible Changed From-To: freebsd-bugs->ed Ed, Can you do a quick triage to see if there's a problem in the TTY layer? Thanks,
For bugs matching the following criteria: Status: In Progress Changed: (is less than) 2014-06-01 Reset to default assignee and clear in-progress tags. Mail being skipped