> + } else {
> + while ((lsr & BOTH_EMPTY) != BOTH_EMPTY) {
> + lsr = serial_in(p, UART_LSR);
> + cpu_relax();
> + }
> + }This still needs a timeout in case some kind of hardware flow control line is asserted and therefore the byte is staying put. Alan

