> +             } 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

Reply via email to