|
@@ -329,12 +329,14 @@ static struct uart_ops ulite_ops = {
|
|
|
static void ulite_console_wait_tx(struct uart_port *port)
|
|
|
{
|
|
|
int i;
|
|
|
+ u8 val;
|
|
|
|
|
|
- /* wait up to 10ms for the character(s) to be sent */
|
|
|
- for (i = 0; i < 10000; i++) {
|
|
|
- if (readb(port->membase + ULITE_STATUS) & ULITE_STATUS_TXEMPTY)
|
|
|
+ /* Spin waiting for TX fifo to have space available */
|
|
|
+ for (i = 0; i < 100000; i++) {
|
|
|
+ val = readb(port->membase + ULITE_STATUS);
|
|
|
+ if ((val & ULITE_STATUS_TXFULL) == 0)
|
|
|
break;
|
|
|
- udelay(1);
|
|
|
+ cpu_relax();
|
|
|
}
|
|
|
}
|
|
|
|