> What if the hardware is locked up? Will this sit and spin forever? I assume so; what is the correct way to do this? The manufacturer-provided drivers do something similar but with a counter that will count up to 1000 before exiting the loop so as to not lock up. > Shouldn't you also have a timeout for the flush? Flush from the system? The problem that I have been seeing is that when you do something like "echo text > /dev/ttyS1", only the first character will be printed out. This (should) be waiting for that to happen, since it checks the hardware to ensure that the hardware buffers are clear and that there are no more characters waiting to be written to the hardware buffer. I'm also not sure if the above means that there is a problem with the serial_8250 driver in general, as I don't have another piece of hardware available that uses that driver. -Robert Middleton