|
@@ -685,7 +685,7 @@ static void dz_console_putchar(struct uart_port *uport, int ch)
|
|
iob();
|
|
iob();
|
|
spin_unlock_irqrestore(&dport->port.lock, flags);
|
|
spin_unlock_irqrestore(&dport->port.lock, flags);
|
|
|
|
|
|
- while (loops--) {
|
|
|
|
|
|
+ do {
|
|
trdy = dz_in(dport, DZ_CSR);
|
|
trdy = dz_in(dport, DZ_CSR);
|
|
if (!(trdy & DZ_TRDY))
|
|
if (!(trdy & DZ_TRDY))
|
|
continue;
|
|
continue;
|
|
@@ -696,7 +696,7 @@ static void dz_console_putchar(struct uart_port *uport, int ch)
|
|
dz_out(dport, DZ_TCR, mask);
|
|
dz_out(dport, DZ_TCR, mask);
|
|
iob();
|
|
iob();
|
|
udelay(2);
|
|
udelay(2);
|
|
- }
|
|
|
|
|
|
+ } while (loops--);
|
|
|
|
|
|
if (loops) /* Cannot send otherwise. */
|
|
if (loops) /* Cannot send otherwise. */
|
|
dz_out(dport, DZ_TDR, ch);
|
|
dz_out(dport, DZ_TDR, ch);
|